Paris Saint-Germain triumphed over Marseille in Le Classique, but the victory is marred by Neymar’s late injury.
Elsewhere in France, Monaco let a two goal slip at Toulouse in the race for Champions League qualification, and Angers came out on top against Lille in a battle between two sides firmly rooted to the bottom of Ligue 1.
For all the action in Ligue 1 this weekend, read below:
Strasbourg 0-0 Montpellier
Montpellier moved up into fifth place, after a goalless stalemate at Strasbourg.
In a game lacking in clear cut chances, it took until the 16th minute for Stephane Bahoken to see the first effort of the game blocked.
On the stroke of half time, Giovanni Sio fired well over the crossbar, ensuring both teams entered the break level.
Soon after the interval, Montpellier’s Issac Mbenza forced the first save of the game from Alexandre Oukidja, who had to plunge low to his left to tip away the effort.
A late rally from the home side came to nothing, meaning both teams left Stade de la Meinau with a share of the spoils.
Rennes 2-0 Troyes
Troyes were unable to pull clear of the relegation zone, after a disappointing 2-0 defeat at Rennes.
Yohann Gourcuff was presented with the game’s first notable opening, but could only send his header into the arms of Erwin Zelazny following Benjamin Andre’s delivery.
A minute after the half-time break, all of Troyes’ defensive hard work was undone when Rennes were awarded a penalty. Whabi Khazri stepped up and fired home the spot kick, sending the home side into a slender lead.
Diafra Sakho spurned an opportunity in the 68th minute, but Rennes soon scored their second when Sanjin Prcic finished low past Zelazny.
The defeat for Troyes means they remain in the drop zone, in 18th place – but only kept from safety by goal difference.
Nantes 0-1 Amiens
Amiens moved two points clear of the bottom three with a nervy away victory at Nantes.
After a scrappy opening period, Nantes gradually began to take control of proceedings, but squandered opportunities through Adrien Thomasson and Santy Ngom.
But on the stroke of half time, Amiens carved out their two best chances and found the breakthrough. Firstly, Serge Gapke sent a header narrowly wide of the target from Lacina Traore’s flick-on. But a minute later, the relegation strugglers did take the lead.
After a lightning breakaway, Gapke threaded through Gael Kakuta who buried a low shot past Ciprian Tatarusanu.
Amiens defended resolutely for the second period, and resisted a late Nantes flurry to pick up a crucial three points, moving them into 15th.
Lille 1-2 Angers
Angers moved out of the drop zone after a late Karl Toko Ekambi finish secured an important victory against fellow strugglers Lille.
In a fixture full of chances, the only thing lacking was an end product from two sides gunning for a win.
In the sixth minute, Flavien Tait cracked an effort against the woodwork after being teed up by Thomas Mangani. As Lille looked to respond, both Nicolas Pepe and Thiago Mendes miscued their chances before the ten minute mark.
Neither side could find the back of the net for the rest of the first period, with neither goalkeeper facing any testing efforts.
But finally, the breakthrough came deep into the second half. Yohann Andreu delivered into the penalty area, and Toko Ekambi steered a header past Mike Maignan from close range.
Back came Lille, who equalised in 88th minute and looked to have secured a late point when Nicolas Pepe nodded home Imad Faraj’s cross.
One minute later, on the stroke of 90 minutes, there would be one final twist in a thoroughly entertaining tale. Toko Ekambi stabbed home his second of the game past Maignan, to secure a crucial maximum points for Angers and lift them above their opponents and out of the relegation mire.
Guingamp 2-2 Metz
Bottom of the table Metz came close to picking up their sixth win of the season, but were eventually held to a 2-2 draw at Guingamp.
The minnows look certain to drop into Ligue 2 for their next campaign, but put in a battling performance at the Stade de Roudourou.
The visitors took the lead in the sixth minute, when Clement Grenier was penalised for a hand ball inside the penalty area – Florent Mollet stepped up and scored the spot kick.
But Guingamp, who had been held to two consecutive draws before this week, found the equaliser in the 22nd minute. Yannis Salibur played through Lucas Deaux, who drilled low past Eiji Kawashima for the leveller.
After Deaux’s goal, Guingamp moved into the ascendency but were punished for their poor finishing by Metz soon after half-time when Nolan Roux guided a header home.
But just as it looked like Metz would hold on for all three points, Deaux scored his second and ensured both teams left with a point.
Dijon 2-0 Caen
Dijon triumphed 2-0 over Caen in the battle between two teams in mid-table safety.
The home side controlled the early stages of the game, but missed good chances from Wesley Said and Mehdi Abeid in the first ten minutes.
But the pressure from Dijon paid off, when Damien Da Silva inadvertently put through his own net in the 24th minute.
Back came Caen, who hunted down a rapid equaliser. Both Ivan Santini and Stef Peeters forced smart saves from Dijon captain Baptiste Reynet.
Da Silva headed over moments after the break, looking to make amends for his own-goal, before Ronny Rodelin also sent an effort wide.
It would be Dijon who scored the game’s second however, and wrapped up the points for the home side. Julien Feret brought down Wesley Said inside the penalty area, and Julio Tavares duly converted from the spot.
Toulouse 3-3 Monaco
Monaco gifted away a two goal lead to draw 3-3 at Toulouse.
Rony Lopes fired the visitors into an early lead, after a smart assist from Keita. But Toulouse had the even share of chances in the early stages, and soon found a deserved equaliser – Issiaga Sylla drove in a cross and Ibrahim Sangare converted from close range.
Just before half-time, Keita picked up an injury and Leonardo Jardim introduced Stevan Jovetic in his place. And soon after the break the substitute was involved in the action, after cracking a shot against the woodwork. But Lopes was on hand to tap in the rebound and restore Monaco’s lead.
In the 72nd minute, Jovetic fired the visitors two goals in front with a tidy finish and plunged Toulouse into further trouble.
But minutes later, Kamil Glik was harshly judged to have pushed Yaya Sanogo in the box as the striker attempted an overhead kick, and Toulouse were awarded a spot kick. Andy Delort converted from 12 yards, and the home side flooded forward for an equaliser.
It came in the 87th minute, when Sanogo fired home from inside the penalty area, following an accurate ball in from Delort.
Lyon 1-1 St Etienne
Lyon’s poor result form continued, after a 90th minute equaliser saw Bruno Genesio’s side lose more ground in the race for Champions League qualifying.
The home side started the brighter, and deservedly opened the scoring after 19 minutes. Marcelo picked out Mariano inside the penalty area, who expertly controlled before swivelling and burying past Stephane Ruffier.
Memphis Depay was then denied by Ruffier before half time, as Lyon’s dominance continued into the break.
But St Etienne drastically improved after the interval, and went close through Mathieu Debuchy and Kevin Monnet-Pacquet.
And finally, on 89 minutes the visitors grabbed a deserved equaliser when Remy Cabella drilled in a low delivery across the box that was stabbed home from close range by ex-Arsenal full back Debuchy.
Bordeaux 0-0 Nice
Bordeaux’s impressive recent form continued, despite being held to a goalless draw against Nice.
A flurry of chances in the opening 20 minutes came and went – Lukas Lerager saw a shot well fielded by Walter Benitez, before Soualiho struck the woodwork after being teed up by Nicolas de Preville.
De Preville then hit the crossbar two minutes later, as Bordeaux came close to opening the scoring.
During the second half, Benitez had to be alert to stop further efforts from de Preville and Gaetan Laborde. And there was still time, on the verge of full time, for the home side to hit the upright once again – this time Paul Baysse was the player denied.
Paris Saint-Germain 3-0 Marseille
Marseille missed the opportunity to move into second place, after they were comfortably defeated by runaway leaders Paris Saint-Germain.
But the victory for PSG were undermined by Neymar’s injury late on, with the Brazilian needing to be withdrawn after all substitutes had been used by manager Unai Emery.
Kylian Mbappe opened the scoring after nine minutes, when the young Frenchman was cleverly picked out by Dani Alves. The striker cut inside and fired in an effort at Yohann Pele’s near post – making him the youngest scorer in Le Classique.
The second goal arrived just before the half hour mark. Layvin Kurzawa released Adrien Rabiot down the far side, and the young midfielder teed up Neymar inside the box. As the Brazilian superstar pulled the trigger, Rolando slid in and deflected the ball into his own net.
Neymar notched up his second assist of the derby after racing down the touchline and crossing for Edinson Cavani, who swivelled and drilled high into the net.
But with the Brazilian’s late injury, he could be a doubt for the crucial Champions League Round of 16 2nd leg tie with Real Madrid.