“Everyone is in total shock,” said Baptiste Lopata, a radiologist, sitting in his trade union office in the small northern French town of Soissons. “Now we’ve all got to mobilise against the far right.”

When Marine Le Pen’s anti-immigration, far-right National Rally (RN) won a historic victory in the European elections on Sunday night, its highest scores were here, in the north-eastern département of l’Aisne, where it won over 50%, and even 60% in some rural villages, compared with a 31% score nationwide.

The far right’s huge success was expected in this heartland area which is ageing, underpopulated, has higher than average unemployment and poverty and a history of factory closures. Instead, the real shock was Emmanuel Macron’s sudden decision to dissolve parliament and call a snap election.

Two years ago, Lopata’s area of Soissons elected an RN member of parliament, José Beaurain, a professional piano tuner who was the French national assembly’s first blind MP since the war. Residents now feel that a snap election with the far right on an upwards trend could see the party increase from its current 88 seats to more than 200.

The result of the three-week election race is hard to predict. It could be another hung parliament. But if the RN reached a 289-seat majority, Le Pen’s popular 28-year-old protege, Jordan Bardella, would end up as prime minister with Macron remaining president for three more years, in charge of defence and foreign policy, namely France’s relationship with Nato and backing of Ukraine.

Jordan Bardella, the president of the National Rally. Photograph: Stéphanie Lecocq/Reuters

“We’re going to insist on standing together against the far right, I think young people will vote massively, unlike in the European elections, because they know what’s at stake,” said Lopata, who grew up in a local village and works at Soissons hospital, where a shortage of staff means that almost half the doctors come from outside the EU. “Without foreign doctors, we would have no doctors at all, because no one wants to come here,” added Lopata, who is a representative of the moderate CFDT union. He felt some people did not like being treated by doctors who were not French.

Across France, there was bafflement at Macron’s decision to call a speedy election when he was in a weak political position and Le Pen’s party was on a high.

Macron’s centrist grouping had dropped to a historic low of less than 15% in the European elections, with many voting to punish him personally, two years after it failed to win a majority in parliament and forced through unpopular changes such as raising the pension age.

By contrast, on Sunday night Le Pen’s party greatly expanded its voter base from its working-class heartlands to higher-earning graduates, topping the polls in an unprecedented 93% of communes across France, including in Brittany and the Île-de-France area outside Paris, which had traditionally been hostile.

Faced with Le Pen’s rise, the left, centrists and traditional right had been expecting to spend the next three years strategising about how to counter her in the 2027 presidential election. They now face mobilising in less than three weeks.

Some opposition politicians speculated that Macron had feared a vote of confidence on the government’s autumn budget and felt it was better to act fast. “Never be afraid of the people,” said a source close to Macron, adding that calling the snap election was a way to take the sting out of the current aggression and deadlock in French parliamentary politics. The source said it was appropriate, after the far right’s European victory, for France to decide now if it really wanted the far right running national affairs.

Crucially, those close to Macron felt confident the French people would not ultimately vote for a far-right government. “We’re going for the win,” another member of his entourage said. Calling the snap election was a way to try to diffuse “a kind of fever and disorder in parliament that makes action difficult”.

skip past newsletter promotion

People close to Macron feel the French people will not vote for a far-right government. Photograph: Teresa Suárez/EPA

The French left were more cautious, suggesting Macron was taking a reckless gamble. They said Macron was potentially opening the doors of government to a party which, though it had changed its name from National Front, was founded by Jean-Marie Le Pen and for decades was seen as a danger to democracy that promoted racist, antisemitic and Islamophobic views. “We’re potentially four weeks away from a xenophobic prime minister, a racist interior minister, a sexist education minister and a pro-Putin foreign affairs minister,” said Benoît Hamon, a former Socialist presidential candidate. “We have to group together in a popular front.”

On the high street in Soissons, Karim, 29, who runs a fast-food restaurant in Paris, grew up in the banlieue town of Aubervilliers with his father, a taxi driver. He was visiting his parents who had retired to l’Aisne. “What will it change if Le Pen’s party gets in?” he said. “Yes there may well be more racism, but let’s be honest there is already a massive amount of racism in France and it is increasing year on year. It feels worse than in any other country in Europe.” He said a mechanic friend of his was called a “nègre” on the streets of Paris. “We agreed that a few years ago that could not have happened. But now it’s just in the atmosphere. I’m not sure how racism in this country could get any worse.”

Joël, 60, a forklift truck driver in Soissons, said he had voted for Bardella out of frustration and anger at not being able to make ends meet. On paid sick leave and renting an apartment from a private landlord, he said his bank account was empty by the end of the month.

“I get by eating one meal a day, at lunch time, perhaps a bit of bread for dinner,” he said. “There’s no sense of justice, it feels like public services don’t work. I hope things will change.”

He expected an €800 (£675) a month pension when he retires in two years. He felt Macron was an “egotist” who did not understand workers’ lives. Joël had worked in all sorts of jobs, from park-keeper to picking the champagne grape harvest. His father had worked in a canning factory but the factories closed down and “Europe finished us off”, he said. He used to vote for the rightwing Jacques Chirac and said he did not have anything against immigrants, “but we should close our borders anyway”.

Matthieu, 21, a finance student from Soissons who was at university in Lille, and voted for the traditional right Les Républicains, said: “I wasn’t surprised Macron called an election, he didn’t have an absolute majority, he was stuck.” Matthieu voted tactically for Macron to keep out Le Pen in the 2022 presidential election. “I’ll vote again to keep the far right out,” he said. “Even though I’m not sure that’s a viable strategy in the long term.”

Alain, 73, a retired senior civil servant, had voted for Macron because he was pro-Europe and supported Ukraine against Russia. He was shaken by Macron’s decision to call a sudden election. “I’m not rejoicing about this, I can tell you that,” he said, clearly baffled. “Macron was in difficulty in parliament and maybe he thought he just couldn’t carry on.” In Alain’s village of 300 people in l’Aisne, the combined vote for anti-immigration far-right candidates had risen to 50%. “But I’ve never even seen an immigrant in our village.”