France's left-wing political parties say they have united to form a "New Popular Front" to go head to head with the far right in snap parliamentary elections at the end of this month.
President Emmanuel Macron called the two-round vote after the anti-immigration National Rally (RN) of Marine Le Pen and Jordan Bardella won a resounding victory in European elections last Sunday.
The latest opinion poll for Le Point website puts RN on 29.5% of the vote in the first round on 30 June and the left-wing alliance on 28.5%, squeezing Mr Macron's Renew into third with 18%.
That has prompted each to claim it will form a "block" to prevent the others winning power in the National Assembly.
With little more than two weeks left before French voters go to the polls, the sense of uncertainty surrounding French politics has been been reflected on the Paris stock exchange and bond markets.
The CAC40 index has endured its worst week since March 2022, slumping by 6.2% since Monday, and by 2.66% on Friday alone. French government bonds have also suffered, and the margin has widened between 10-year interest rates on French and German bonds, the biggest spread since 2017.
The pace of campaigning has been frenetic and the main three groups have launched direct attacks on their rivals.
France's fragmented political landscape and two-round system encourage alliances, which is why the Socialists have agreed to join forces with the Greens, Communists and France Unbowed, the far-left party of Jean-Luc Mélenchon.
The former presidential candidate has alienated many voters on the left by focusing on criticising Israel over the war in Gaza, and his party trailed the Socialists under Raphaël Glucksmann in last Sunday's elections.
However Mr Glucksmann decided the risk of letting down his centre-left voters was worth taking.
"The only thing that matters to me is that the National Rally doesn't win the elections and won't govern the country," he told France Inter radio, adding that Jean-Luc Mélenchon would not lead a left-wing movement.
"We can't leave France to the Le Pen family," he said. While Marine Le Pen leads the parliamentary party, she now has the backing of her niece Marion Maréchal who has been thrown out of a rival far-right party for calling on voters to vote for National Rally.
The head of the powerful, left-wing CGT union, Sophie Binet said there would be 200 protests across France this weekend: "It's our responsibility to build the popular wave that will block the far right".
Minutes later, National Rally leader Jordan Bardella gave a TV interview declaring that he was "the only one capable of blocking Jean-Luc Mélenchon and blocking the far left". He appealed to "all the patriotic forces of the republic" to unite to prevent the danger of the left winning the election.
For the first time the opinion polls suggest National Rally has a chance of winning the vote, while stopping short of an absolute majority.
Mr Bardella vowed to push through an immigration law enabling the expulsion of "delinquents and Islamists", if he becomes prime minister. He also promised to cut the cost of energy.
A poll on Friday evening for Le Point-Cluster 17 suggested the new left-wing alliance was not far behind Mr Bardella's party.
It indicated RN could win 195-245 seats in the 577-seat National Assembly, with the New Popular Front on 190-235. The Macron centrist alliance would be reduced to up to 100 seats.
Finance Minister Bruno Le Maire warned of a potential financial crisis if either the far right or the left won the elections. "I'm sorry, [National Rally] do not have the means to afford these expenses," he said.
The left, which has been dominated by France Unbowed in the outgoing parliament, has proposed scrapping the Macron government's pension reforms, lowering the retirement age to 60, a year after it was raised from 62 to 64, and it is also planning to raise the minimum wage from just under €1,400 (£1,180) to €1,600 a month.
Condemning this programme as "total madness", the finance minister said it would break the rules of the EU's stability pact.
Under the Popular Front agreement, France Unbowed is likely to have by far the loudest voice, putting up candidates in 229 of France's 577 constituencies, while the Socialists field 175 candidates, the Ecologists 92 and the Communists 50.
Prime Minister Gabriel Attal warned that the left's plans would be very bad news for French people "who would see their taxes rise again". Ecologists leader Marine Tondelier hit back, accusing him of a leading a "Robin Hood government in reverse" with reforms that took money from the poor and left the wealthy alone.
One party that appears to be completely out of the race is the conservative Republicans, who imploded this week when leader Eric Ciotti called for the party to form an alliance with National Rally.
His colleagues then expelled him from the party and for a while he refused to budge from party headquarters in central Paris.
"It's all turning into a farce," Mr Ciotti accurately observed, after the Republicans (LR) held a new meeting to confirm his expulsion.
A court in Paris met on Friday to consider whether or not LR's decision to ditch its leader followed party rules. It was due to make a decision during the evening.
Jordan Bardella has claimed that 70 RN candidates will run jointly with the Republicans, although the figures are disputed by LR.
However, Republicans in the western suburbs of Paris have reached a local deal with Mr Macron's party to form their own alliance.
Mr Attal said candidates in Hauts-de-Seine had agreed to "block the extremes of the right and left and create a republican arc".