Thousands of demonstrators marched under massive police surveillance in Paris on Thursday to try to force the government to drop its labor reforms but President Francois Hollande said he would pursue the plan "to the finishing line".
Protesters - whose numbers were put at 20,000 by police but three times that many by organizers - chanted "Scrap, scrap, the labor reform!" as they marched around the capital's Place de la Bastille square, hemmed in by large numbers of riot police.
The defiant march was the latest confrontation in Hollande's four-month showdown with the unions which has dragged down the ratings of the unpopular president to new lows.
The Socialist government had initially banned the march - the first time a government had taken such a step in more than 50 years - for fear of a repeat of the violence that had marred previous protests against legislation that will make hiring and firing easier.
But, after facing a huge backlash the ban was lifted in a u-turn by the government which drew fire on social media and from politicians of all stripes. Many protesters said they joined the march on Thursday because of the ban threat.
"No to a police state ! No one will stop us from protesting!," the protesters chanted.
More than 2,000 police enforced strict security measures around the Place de la Bastille square, checking bags and turning away people with helmets.
The short protest circuit was patrolled by more than one riot police officer per meter. Police also blocked all exit points to force protesters to stay on the agreed route.
"The bill must be withdrawn. We must start from scratch," said Julie, a 27-year-old social worker who decided to take part in the protest because she was shocked it had been banned.
But Hollande said his government would not retreat from labor legislation that is intended to tackle an unemployment rate that has been stuck at 10 percent for most of his time in office.
"We will take this bill to the finishing line," Hollande told reporters just hours before the march.
In a months-long stand-off, neither side wants to cave in and lose face over a reform plan that opinion polls say is opposed by more than two in three French voters.
French gendarmes apprehend a demonstrator at the Place de la Bastille square during a demonstration against plans to reform French labour laws in Paris, France, June 23, 2016.
Polls also show that voters are getting tired of the protests and want a deal. But Jean-Claude Mailly, leader of the Force Ouvriere union, said it could continue for many more months.
"We've made proposals, counter-proposals, but the government has not budged," he told reporters. "If the government keeps being stubborn - though I hope it won't - we'll see during the summer and also at the start of the school year (in September)."
The march tested police forces already stretched under a state of emergency imposed since deadly attacks by Islamist militants in November and by fan violence at the Euro 2016 soccer tournament France is hosting.
Hollande says the reform is key to hauling down unemployment, something he has promised if he is to run in next year's presidential election. Critics say it undermines workers' rights.
Philippe Martinez, leader of the hardline CGT union, accused Prime Minister Manuel Valls of pinning the blame for the escalating disorder on his group. He condemned the rioters but said the government had inflamed passions as unions sought a deal on the labor reforms.
"Every time we try to calm things down the prime minister throws fuel on the flames again," Martinez told reporters.
Though noisy, Thursday's march was peaceful. Police said 95 people were arrested as crowds converged on the marching zone.
Previous protests have been marred by hundreds of mostly masked youths engaging in running battles with police, hurling paving stones, smashing shops and plastering anti-capitalist slogans on buildings. Police have said some CGT members were in involved in the violence.