Protesters set piles of rubbish on fire in central Paris after French president Emmanuel Macron's government narrowly survived a no-confidence motion in parliament on Monday over a deeply unpopular pension reform.
The failure of the no-confidence vote will be a relief to Macron. Had it succeeded, it would have sunk his government and killed the legislation, which is set to raise the retirement age by two years to 64.
But the relief proved short-lived.
In some of Paris' most prestigious avenues, firefighters scrambled to put out burning rubbish piles left uncollected for days due to strikes as protesters played cat-and-mouse with police.
Earlier, a Reuters reporter saw police fire tear gas and briefly charge at protesters after the no-confidence vote barely fell short of enough votes to pass.
Unions and opposition parties said they would step up protests to try and force a u-turn.
The vote on the tripartisan, no-confidence motion was closer than expected. Some 278 MPs backed it, just nine short of the 287 needed for it to succeed.
Opponents say this shows Macron's decision to bypass a parliamentary vote on the pension bill - which triggered the no confidence motions - has already undermined his reformist agenda and weakened his leadership.
As soon as the failure of the no-confidence vote was announced, lawmakers from the hard left La France Insoumise (LFI, France Unbowed) shouted "Resign!" at French prime minister Elisabeth Borne and brandished placards that read: "We'll meet in the streets."
"Nothing is solved, we'll continue to do all we can so this reform is pulled back," LFI parliamentary group chief Mathilde Panot told reporters.
In the southwestern city of Bordeaux, about 200-300 people, mostly youngsters, gathered against the reform and chanted: "Macron, resign!" A couple of rubbish bins were lit on fire as the crowd chanted: "This will blow up."
Over the past three nights, clashes over the pension reform, in Paris and throughout the country, have been reminiscent of the Yellow Vest protests that erupted in late 2018 over high fuel prices.
A ninth nationwide day of strikes and protests is scheduled on Thursday.
"Nothing undermines the mobilisation of workers," the hardline CGT union said after the vote, calling on workers to step up industrial action and "participate massively in rolling strikes and demonstrations."
Opposition parties will also challenge the bill in the Constitutional Council, which could decide to strike down some or all of it - if it considers it breaches the constitution.
A second motion of no confidence, tabled by the far-right National Rally (RN), also failed, after it gathered only 94 votes. Other opposition parties said they would not vote for it.
Far-right leader Marine Le Pen said Borne should go. She said Macron should call a referendum on the reform but was unlikely to do so. "He's deaf to what the French people want," she told reporters. -Reuters