With 80.2% of ballots counted, the Socialist Party and its allies won 53.7% of the overall national vote, according to the Interior Ministry.
Sarkozy’s UMP and its allies won 35.2%, and the far right National Front won 10%, the ministry said.
With region-by-region results still coming in, it looked close to the “grand slam” the Socialists were hoping for. Official results showed the conservatives holding on to Alsace but losing control of Corsica.
Those were the only two regions run by the right going into the vote.
Frustration over Sarkozy’s handling of the stumbling economy was high on many voters’ minds during the runoff vote.
Prime Minister Francois Fillon, looking sober, acknowledged the conservatives’ defeat even before the partial official results were released.
“These elections show that the French are worried” about reforms to their pensions and other social protections, he said.
He warned that the country can no longer finance France’s generous social system without reforms. “We do not govern a great country like France according to the rhythm of local elections,” he said.
UMP chief Xavier Bertrand and Finance Minister Christine Lagarde were visibly grimacing on post- election talk shows.
The Socialists, after years divided and drifting, were buoyant, and looking ahead to the 2012 vote.
“The French have spoken, they must be listened to,” said Socialist leader Martine Aubry.
“It is a huge success,” said her predecessor Francois Hollande but warned: “We haven’t won the presidential elections.”
Voter turnout was slightly above 50%.
Workers across the spectrum are angry over layoffs and worried about pension reforms. Nationwide strikes and demonstrations in at least 70 cities are planned for tomorrow, by train drivers, teachers and others.
Sarkozy will follow up the elections with a “modest reshuffle” of the government, his chief of staff Claude Gueant told the Catholic daily La Croix.