The independent pro Europe Emmanuel Macron will face far-right leader Marine Le Pen in a run-off for the French presidency on 7 May, near-final results show. With 96% of votes counted from Sunday's first round, Mr. Macron has 23.9% with Ms Le Pen on 21.4%.
Opinion polls have consistently predicted Mr. Macron defeating his rival in the run-off. The two fought off a strong challenge from centre-right François Fillon and hard-left Jean-Luc Mélenchon.
Whoever wins the second round, the voting marks a shift away from the decades-long dominance of leftist and centre-right parties in French politics.
While Ms Le Pen has long been seen as likely to make the second round, Emmanuel Macron's rise has been swift. He told cheering supporters we have changed the face of French political life in one year, calling for people to rally against nationalists.
A former banker, Mr. Macron served as economy minister under current President Francois Hollande, quitting to launch a new party. He has never stood for election before and if he wins would become France's youngest-ever president.
A pro-European, he has called for gradual deregulation of France's economy and a multi-billion dollar public investment plan.
As the results came in, Ms Le Pen called herself the candidate for the people, saying that the survival of France was at stake.
The first step... has been taken, she said. This result is historic.
Le Pen leads the Euro skeptic, anti-immigrant National Front party. She has attempted to soften the party's tone and brought big gains in the 2015 regional elections. She also urged a shake-up of France's relations with the EU, calling for negotiations followed by a referendum.
Ms Le Pen also wants immigration to be slashed and the closure of extremist mosques.
Mr. Macron is widely seen as favorite in the final round of voting, and in a sign of the uphill struggle Ms Le Pen faces he soon won high-profile endorsements.
Admitting defeat, François Fillon, whose campaign was rocked by corruption allegations, said there was no other choice but to vote for Mr. Macron. He polled about 20%, slightly ahead of Jean-Luc Mélenchon.
Benoit Hamon, the candidate of President Hollande's Socialist Party said I encourage everyone to fight as hard as they can to fight the extreme right, and to fight for Macron. He endured a difficult night, polling only just over 6%.
Both Germany and the EU also offered praise for Mr Macron.
Turnout nationally appears to be similar to the last election in 2012, at about 80%. Almost 47 million people were eligible to vote. Nearly 60,000 police and soldiers were deployed across the country to secure polling, with France still reeling from the shooting of a policeman on the Champs Elysees.