Exit polls say Mr Parvanov, a 44-year-old ex-communist, received more than 50% of the vote in Sunday's second round, with Mr Stoyanov trailing behind by at least two points.
First reports said voter turn-out was slightly up from the record low of 41% recorded in the first round last weekend.
Mr Parvanov's campaign was boosted by support from the party representing Bulgaria's ethnic Turks.
Correspondents say his victory reflects a growing demand for change among Bulgarians disillusioned by years of economic hardship since the fall of communism.
"For me it is a victory for the whole of Bulgaria, a victory of an idea of a revival of Bulgaria which reflects people's desire for a profound change," the Socialist leader said.
Unexpected success
Mr Parvanov narrowly led the current president after the first round with just over 36% of the vote.
His party's share at the parliamentary elections in June was just 18%, and he had not been expected to make the run-off.
He was further boosted by support from a party representing Bulgaria's 800,000 ethnic Turks and from Roma organisations.
Mr Stoyanov has remained reasonably popular over the last few years despite the waning fortunes of his former party, the Union of Democratic Forces.
But a heated campaign dented his popularity, and he was forced to admit that economic difficulties had cost him support.
"It is difficult for me to convince people that I have succeeded as president when their lives are poor," he said after the first round.
Figurehead
The post of president in Bulgaria is largely ceremonial, but is important for the country's international image.
The victory was the party's first presidential win since the fall of communism, with anti-communists Zhelio Zhelev and Mr Stoyanov elected in 1992 and 1996 respectively.
But Mr Parvanov will have to co-exist with a government led by Bulgaria's former king - Simeon Saxe-Coburg-Gotha - who backed Mr Stoyanov in the election.
The result is likely to be seen as a sign of discontent with the pace of the prime minister's reforms.