Centrist Emmanuel Macron is aiming to become the first sitting president to win a second term for 20 years.
He said Marine Le Pen’s far right was fuelled by unhappiness and risked a society of hate and fracture.
It was proof of his weakness, she said, that he used old insults of extremism.
The opinion polls give the sitting president the edge in the second round run-off, but Ms Le Pen’s far right party has never been this close to power which is why the stakes are so high.
‘Macron or France’
The number one issue in this election has been the spiralling cost of living, from energy bills and food shopping to the price of filling up a car. It was identified very early on by the Le Pen team, who have promised a government of national unity to attack the high cost of living, as well as a referendum on immigration and a ban on wearing headscarves in public.
Her simple message to voters has been: “It’s Macron or France”.
Mr Macron also kept his message brief: “This election is a form of referendum, on secularism and on Europe.” He argues Ms Le Pen’s idea of a “Europe of nations” would mean an end to the EU.
He invoked the UK’s vote to leave the EU and the presidency of Donald Trump in a TV appeal to voters. “There are millions of people who, a few hours before Brexit, decided what was the point in going to vote. Millions did the same in 2016 with Trump. The next day they woke up with a hangover,” he said.
Accusing him of insulting both her and those who voted for her, Ms Le Pen said France had endured five years of chaos and could rediscover civil peace and respect. “We won’t find it with the same man and the same type of rule,” she said.
‘I’m going to vote blank’
The biggest issue for both candidates is the large number of voters who are set to cast blank ballots or not even vote at all. The polls suggest turnout could be the lowest since 1969.
“I’m going to vote blank because it’s my national duty to cast my vote, but I still want to show my unhappiness with the system,” Edrisi, a voter in a southern suburb of Paris, told me.
The dissatisfaction with Mr Macron’s brand of centrism and with mainstream politics was laid bare in the first round, when well over half the electorate backed the far right or far left.
More than one in five voters backed far-left candidate Jean-Luc Mélenchon, who came third, narrowly behind Marine Le Pen.
Many in France have not forgotten the gilets jaunes or yellow-vest protests over fuel costs and rising prices that erupted 18 months after Mr Macron came to power. Ms Le Pen has exploited claims that he is a president for the rich.
The final polls suggest the sitting president will win between 53% and 57% of the vote, so there are big question marks over who those 7.7 million Mélenchon voters will back. According to an Ipsos poll on Friday, 48% of people who voted for him in the first round support neither candidate in the final round.
‘Between cholera and the plague’
While one in three of those far-left voters will back Mr Macron, there are a sizeable number who dislike him so much they would rather vote for the far right.
Campaigning ended at midnight French time (22:00 GMT) on Friday, and the two teams are now required by law to halt electioneering until voting ends on Sunday evening.
As the sun went down in Paris, one of the rising stars of Mr Macron’s party joined party activists in handing out leaflets in a last-ditch appeal for votes.
Agriculture Minister Julien Denormandie said the government was acutely aware that a disaffected public needed to be brought closer to mainstream politics: “Maybe it will be one of the major issues of a new Macron period, if he’s re-elected. Everyone in politics has to consider the way we make and enact policy. And if people don’t feel their lives are getting better, then they won’t see the use of politics and they won’t vote.”
It has been an unusual election from the start, overshadowed first by the Covid pandemic and then the Russian invasion of Ukraine, which meant Mr Macron only engaged with voters eight days before the first round.
Even though 12 candidates took part in that initial race, only three performed well. The two mainstream parties that traditionally ran France until the meteoric rise of Emmanuel Macron in 2017 attracted little over two million votes between them.
The campaign did eventually burst into life on Wednesday night, when the two final candidates sparred for almost three hours on live TV, with the moderators barely getting involved.
And it continued right until the final moments of Friday, with the head of Ms Le Pen’s National Rally party, Jordan Bardella, promising to save public money and return it to the French people.