The vote in the lower house of parliament, the Sejm, fell 25 short of the three-fifths majority required.
Of 442 lawmakers present, 241 backed overturning the veto, 198 opposed and three abstained; 266 votes were needed.
It was the third time Nawrocki had vetoed the bill, which would have made the Financial Supervision Authority (KNF) the market's regulator.
The president has argued that the legislation over-regulates the sector and could push Polish firms abroad.
Shortly before Friday's vote, Prime Minister Donald Tusk urged lawmakers to back the bill, citing an ongoing investigation into the collapsed cryptocurrency exchange Zondacrypto.
He read out excerpts of witness testimony implicating former Justice Minister Zbigniew Ziobro, quoting a claim that the fugitive politician had promised to drop the Zondacrypto case if he returned to power.
According to the statement, a PLN 2 million (EUR 463,000) "compensation" for Ziobro was to be channelled through a foundation set up by his brother, linked to the Sovereign Poland party, with PLN 500,000 (EUR 116,000) said to have gone toward his personal needs.
The testimony named Ziobro's wife, Patrycja Kotecka, as having played the main role in the scheme.
'You are disgracing yourselves'
Tusk accused politicians with the right-wing Law and Justice (PiS) party of continuing to back those behind shady crypto deals despite the political cost, telling them: "You are disgracing yourselves."
Poland has formally requested the extradition of Ziobro, the former minister under the PiS government, from the United States, where he has been living since May after losing refugee status in Hungary.
The application covers 19 of the 26 offences with which he has been charged in a separate investigation into conduct dating back to his time in office.
(ał/gs)
Source: PAP