Luiz Inacio Lula da Silva won Brazil’s presidential runoff on Sunday with 51.8% to Flavio Bolsonaro’s 48.2% on a count that had reached 99.9% of ballots, according to preliminary official results reported by the New York Times. It is a fourth term for a man who turns 81 this week, and the first time since Brazil’s return to democracy in 1985 that a candidate has lost the first round and won the second. Bolsonaro, a senator and the eldest son of the imprisoned former president, has refused to recognise the result and says he will ask the courts to annul it, citing a Supreme Court decision that extended voting by two hours (CNN).
The result was a turnaround of roughly six and a half million votes in three weeks. What makes it worth studying is that the published vote counts do not quite add up, and the size of the discrepancy is larger than the size of some of the claims being made about it.

The pool: where fourteen million votes came from
In the first round on 4 October, Bolsonaro took 47.03% and Lula 45.16%, a difference of 2.2 million votes (Al Jazeera). That margin over a 1.87-point gap implies a first-round valid-vote base of about 117.6 million, which is our calculation, not the electoral court’s. On that base the two leading candidates accounted for 108.4 million votes, or 92.2%, leaving roughly 9.2 million that went to candidates who were eliminated.
Add the turnout effect and you get the pool the runoff was fought over. Abstention in the first round was 21.08%, the highest in a general election since 1998, with an estimated 33.4 million voters staying home. Dividing that by the abstention rate implies an electorate of about 158.4 million. Abstention fell to roughly 19.2% in the runoff, a drop of 1.88 points, or about 2.98 million additional voters. Nine million freed-up votes plus three million extra voters is a pool of about 12 million, which is close to the “about 14 million additional votes” the New York Times describes once blank and invalid ballots are allowed to move as well.
Who took them
Lula gained 10.4 million votes between rounds and Bolsonaro 3.7 million, according to the New York Times count. That is 73.8% of the 14.1 million the two campaigns added between them, and 85.2% of the 12.2 million implied by the first-round composition above. Either way, Lula took roughly three of every four votes that became available, which is what turns a 2.2 million deficit into a 4.4 million surplus: a net shift of about 6.7 million votes, against the 6.6 million needed.

The numbers do not reconcile to the million
Here is where the published figures stop being precise. Two wire services report the runoff share differently: 51.8% for Lula in the New York Times count, 51.7% in DW’s account, both with Bolsonaro at 48.2%. Against a margin of 4.4 million, the first pairing implies a runoff valid-vote base of 122.2 million and the second 125.7 million. Applied to those bases, Lula’s first-round to runoff gain comes out at either 10.2 million or 11.9 million, against the 10.4 million actually reported.
The honest conclusion is not that a wire is wrong; it is that a tenth of a percentage point is 126,000 votes. With the share rounded to one decimal and the margin to one tenth of a million, the implied runoff base runs anywhere from about 121 million to about 131 million. The arithmetic band is roughly five million votes wide on either side of the centre, which is wider than the margin that Bolsonaro would have to overturn. Any claim that the extension of voting hours “cost” or “won” a specific number of votes has to live inside that band, and none of the official numbers published so far does.
Minas Gerais was the fulcrum
Geography explains more than the national turnout figure. In Minas Gerais, the state with Brazil’s second-largest electorate, Lula went from losing by nearly 590,000 votes in the first round to winning by about 99,000 in the runoff, a swing of roughly 690,000 votes in the margin. That single state accounts for 15.7% of the final national margin. Minas Gerais has backed the winner of every direct presidential election since 1989, and it did so again.
Why the annulment arithmetic is hard
To flip the result, Bolsonaro would need to move 2.2 million votes, which is 1.72% of the roughly 128 million ballots cast in the runoff. His complaint rests on a two-hour extension ordered by Supreme Federal Court Justice Cristiano Zanin after polling stations struggled, and his campaign had itself requested extensions in some areas because of heavy rain in the south. The margin is also more than twice the 2.1 million votes by which his father lost in 2022. Courts can rule on process, but the gap he is asking them to cross is not a rounding error.
The paradox of the next term
The same count that gave Lula the largest margin of his career left the right with a majority in the legislature, CNN notes, which limits what a fourth term can actually legislate. A president who mobilised three million voters who had stayed home inherits a Congress where those voters are not represented in proportion. Expect the fiscal and social agenda to move through decree, budget and appointment rather than statute, and expect the annulment petition to be argued in public for weeks regardless of its legal prospects.
What to watch
- Publication of the final, fully counted result and the official abstention figure, which will settle the size of the turnout shift.
- Whether the electoral court releases the number of ballots cast during the two-hour extension, the only figure that can bound Bolsonaro’s claim.
- The Supreme Federal Court’s handling of the annulment petition, and whether it is heard before the inauguration.
- Whether the police restriction on Bolsonaro leaving the country is formalised or lifted.
- The first congressional votes of the new term, as a test of how far a legislative majority can blunt the result.
Sources: New York Times live results; Al Jazeera, key takeaways; CNN, how Lula beat Bolsonaro; DW live coverage; Reuters. Implied vote totals, turnout shifts and margins in this article were calculated by huanghuajian.com from the reported percentages.

