The mounted officers advanced behind ranks of police on foot holding up their shields like Roman legionaries. In front of them, on the fashionable Rue de Bretagne in central Paris, were the "yellow-vest" protesters and masked, black-clad youths, sending shoppers and patrons of pavement cafes scurrying indoors for cover.
"No one was expecting trouble in this area," said Francoise Perrin (43). Ms Perrin, one of dozens of terrified Parisians and tourists in the Marais district caught between a mob of protesters and riot police on horseback, added: "We were just about to order a drink, then we looked up and saw what looked like a military formation heading towards us. Then we looked the other way, and saw the protesters. We got the fright of our lives."
The police managed to prevent the mob from looting shops, smashing windows or attacking parked cars, pursuing them through the narrow medieval streets of one of Paris's oldest and most picturesque quarters.
But other parts of Paris were severely battered by clashes. An estimated 8,000 demonstrators marched through the streets on a "day of rage" as the authority of President Macron was challenged on a fourth consecutive weekend of protests across France.
There were an estimated 125,000 protesters across France, with 1,385 arrests - a record for a single day in postwar France. More than 700 were detained in Paris alone. At least 135 people were injured, including three police officers. The iconic Champs-Elysees, was shrouded in tear gas and echoed to the sound of stun grenades as police battled a crowd of 1,000-plus, who sang La Marseillaise and chanted "Macron resign".
Police demolished burning barricades with armoured vehicles, deployed for the first time in the heart of Paris. Officers fired repeated salvoes of tear gas and water cannon to drive back and disperse protesters. But they regrouped and moved on, sometimes returning to confront police again.
Some protesters torched parked cars and ripped up chunks of concrete from the street and hurled them at police, but the majority remained relatively peaceful.
As night fell, increasing numbers of masked youths appeared on the streets - without the high-visibility jackets that have become the symbol of the grassroots rebellion.Many hurled stones which they brought with them in backpacks. Some tried to loot the Fendi jewellery shop near the Champs-Elysees, while others ripped open the shutters of cafes and tobacconists and grabbed bottles of liquor and cartons of cigarettes.
Benjamin Cauchy, a founder of a group known as the 'Free Yellow Vests', said: "We call on French people not to demonstrate in Paris, it's a trap. The government is trying to make us look like hooligans... We don't want to have deaths and injuries on our conscience."
"It feels like order is being better maintained this week," Jean-Francois Barnaba, one of the yellow vests' unofficial spokesmen, told reporters. "Last week the police were tear-gassing us indiscriminately. This time their actions are more targeted," he added.
Donald Trump added his tuppence, blaming the Paris climate change agreement for ongoing violence in the French capital. He tweeted yesterday: "The Paris Agreement isn't working out so well for Paris. Protests and riots all over France. People do not want to pay large sums of money, much to third world countries (that are questionably run), in order to maybe protect the environment. Chanting 'We Want Trump!' Love France."
However reporters, placed across the city, heard no such chants.
There were also protests in Brussels, Amsterdam and Rotterdam. There were 400 arrests in Brussels but the Dutch protests were largely peaceful.
Telegraph Media Group Limited