France's top constitutional body has cleared the Macron government's highly unpopular move to raise the state pension age from 62 to 64.
The Constitutional Council also rejected calls for a referendum by political opponents but struck out some of the reforms citing legal flaws.
Twelve days of protests have been held against the reforms since January.
In March, the government used a special constitutional power to force through the changes without a vote.
President Emmanuel Macron argues the reforms are essential to prevent the pension system collapsing and Prime Minister Élisabeth Borne tweeted on Friday that "tonight there is no winner, no loser".
Labour minister Olivier Dussopt has vowed to improve the employment rates of those aged over 50 in an effort to ease concerns about the financial impacts of the raised retirement age.
The authorities had banned demonstrations in front of the Constitutional Council building until Saturday morning, but crowds of protesters had gathered nearby and the ruling was met with jeers.
Some demonstrators chanted they would continue protesting until the changes were withdrawn.
Later, objects were set on fire as riot police tried to contain the situation. There have also been angry demonstrations in other French cities, including Nantes and Lyon.
Trade unions made a last-ditch appeal to the president not to sign the pension-age increase into law, faced with the public's "massive rejection of this reform". The unions pointed out that six concessions that had been added to the reforms had been rejected by the court, so what was already unfair was now "even more unbalanced".
Among the reforms struck down by the nine members of the Constitutional Council was a so-called "senior index" aimed at urging companies with more than 1000 workers to take on employees over 55.
Lucy, 21, was among the protesters who gathered outside the City Hall and told the BBC that she was disappointed "we don't have the power any more".
"Nobody is listening to us no matter how hard we are shouting," she added, vowing to keep on speaking out.
Raphaëlle, also 21, said she had hoped there would be something in the council's ruling that would reflect the huge consensus there has been on the streets against the reforms.
Barriers were erected in the streets near the court and riot police were deployed in case of further, potentially violent protests.
The unions called on workers across France to return to the streets on 1 May, in another day of national mobilisation against the reforms.
Lucas, 27, said he was worried about the future and what Macron intended for the rest of his presidency.
The left-wing Nupes political alliance was one of the groups that lodged an appeal with the court over the reforms and its leader, Jean-Luc Mélenchon, said the "fight" would continue.
"The Constitutional Council's decision shows that it is more attentive to the needs of the presidential monarchy than to those of the sovereign people," he said.
Marine Le Pen of the far-right National Rally, which had also appealed to the court, responded on social media that "the political fate of the pension reform is not sealed".
While the court rejected an initial bid for a referendum on the reforms, it will decide next month on a further proposal for a national vote by the left.
French political analyst Antoine Bristielle told the BBC he did not think there would soon be an end to the protests that have taken place across France for the past three months.
"A lot of people were saying that the reforms would pass and that the Constitutional Court would not avoid it so it's not a surprise," he said.
"But I think we will see in the upcoming hours and at the weekend a lot of riots and strikes in the country because there are still 70 percent of the French population against the reform."
-BBC