Brazilians were preparing to vote on Sunday in the country's most polarized election in decades, which could give the South American giant a far-right populist president.

Former army captain and lawmaker Jair Bolsonaro, 63, would be elected with 55 per cent of the vote, while his leftist challenger Fernando Haddad would receive 45 per cent, according to an opinion poll by the company Datafolha published Saturday.

A poll by the company Ibope, published at the same time, gave Bolsonaro 54 per cent and Haddad 46 per cent.

Bolsonaro's lead has grown narrower than in previous polls, raising the possibility that Haddad, 55, could take a surprise victory.

The Workers' Party (PT) chose former Sao Paulo mayor Haddad in September to replace former president Luiz Inacio Lula da Silva, who had appeared practically certain to win the election until he was jailed on corruption charges and excluded from the race.

The less charismatic Haddad has tried to capitalize on the achievements of Lula, who lifted millions of people out of poverty during his 2003-10 presidency, while trying to distance himself from the corruption that tarnished Lula's party.

A massive graft scandal involving the oil giant Petrobras, soaring crime and the 2015-16 recession have favoured the rise of Bolsonaro, dubbed ‘Brazil's Donald Trump.’   The country has not previously seen a powerful right-wing movement since the end of military rule in 1985.

Bolsonaro has praised the 1964-85 military dictatorship and sparked outrage with comments seen as sexist, racist and homophobic.

But even women, black and indigenous people voted for Bolsonaro in the first election round on October 7, when he took 46 per cent of the vote against 29 per cent for Haddad.

Related Story