Flávio Bolsonaro has finished ahead of President Lula da Silva in the first round of Brazil’s presidential election, but neither won enough votes to avoid a run-off on 25 October.

With almost all votes counted, Bolsonaro had 47% to Lula’s 45%. Lula had held a slight lead in campaign polling. Bolsonaro, the 45-year-old son of former president Jair Bolsonaro, performed better than expected.

Results so far show Bolsonaro’s Liberal Party with the most governors, senators and federal deputies elected, leaving it expected to have the strongest influence in Congress. The presidential campaign has been polarised, with crime, the economy, corruption and sovereignty among voters’ main concerns.

Lula, 80, is seeking a fourth term. He narrowly defeated Jair Bolsonaro in 2022; the former president is serving a 27-year prison sentence for masterminding a failed coup after that defeat.