Lyon fell to a surprise 2-0 home defeat against Rennes, as Monaco gained the advantage in the race for an automatic Champions League place.
Elsewhere in France, PSG ground out a tight victory at relegation-threatened Toulouse to move one step close to the league title, while Bordeaux’s impressive form under new manager Gus Poyet continued with a home win over Amiens.
For all the action in Ligue 1 this weekend, read below:
St Etienne 2-2 Marseille
Marseille lost ground in the race for a Champions League place, after being held to a 2-2 stalemate at St Etienne.
St Etienne found the equaliser 15 minutes from time, and moved five points clear of the drop zone.
Florian Thauvin had edged Marseille in front early on, when Hiroki Sakai delivered a cross into the box and the ex-Newcastle man steered home a left-footed effort.
But just five minutes later, the home side hit back. Jonathan Bamba picked out Kevin Monnet-Pacquet who drilled past Steve Mandanda from inside the penalty area.
Morgan Sanson restored Marseille’s lead after 20 minutes, when he collected Bouna Sarr’s cross and slotted home into the bottom left corner.
Mandanda had to be substituted on the verge of half-time, and Yohann Pele replaced him.
Pressure from St Etienne paid off after 75 minutes, when Bamba squared across goal for Robert Beric to tap home for the equaliser.
Metz 0-1 Montpellier
Metz’s already unlikely great escape now looks impossible, after a 1-0 home defeat to Montpellier.
After an even start to the game, both sides went close to breaking the deadlock. But it was the visitors who scored the only goal of the game.
Giovanni Sio prodded home after 24 minutes, and the finish proved to be enough for Montpellier to secure all three points.
Montpellier sit in sixth place, and are three points behind Claudio Ranieri’s Nantes side. Metz, however, still sit rock bottom of the Ligue 1 table and seem certain to be relegated.
Guingamp 0-0 Caen
The middle table clash between Guingamp and Caen ended in a disappointing 0-0 draw.
The visitors squandered early chances through Enzo Crivelli and Stef Peeters, while Guingamp also came close after Marcus Coco fired high and wide of the target on the cusp of half-time.
Damien Da Silva was denied the opener by a magnificent save from Karl-Johan Johnsson in the 81st minute, as the contest ended in a goalless stalemate.
Dijon 3-2 Nice
Nice’s poor recent form continued after surrendering a narrow lead at Dijon in an eventual 3-2 defeat.
Mario Balotelli saw two early efforts well blocked, but neither side could make the breakthrough in the first half.
Julio Tavares crashed a shot against the woodwork soon after the restart, before finally finding the back of the net minutes after. The Cape Verdean international was played through by Roman Amalfitano, and buried an effort from just outside the penalty area.
But just three minutes later, Nice found the equaliser. Allan Saint-Maximin picked out Pierre Lees-Melou outside the area, who dispatched a right footed effort.
Nice pushed forward from the restart, and immediately scored their second when Alassane Plea buried a shot across Baptiste Reynet and into the bottom right corner.
In the 78th minute, all of Nice’s hard work was undone after Malang Sarr brought down Cedric Yambere inside the penalty area. Tavares stepped up and blasted home the spot kick to equalise.
As both teams pushed forward to take the lead, it was the home side who struck next to steal maximum points. Kwon Chang-Hoon was teed up by Benjamin Jeannot, and picked his spot aross Reynet for the winner.
Bordeaux 3-2 Amiens:
Bordeaux resisted a late Amiens comeback to pick up another win under new manager Gus Poyet.
Gaetan Laborde squandered two chances in the first 20 minutes as Bordeaux pushed for the opener. It eventually arrived after half an hour following Malcom’s cross, which Jules Kounde latched onto before burying past Regis Gurtner.
Eight minutes later, and it was two-nil when Lukas Lerager headed in from close range, from Youssouf Sabaly’s wicked delivery.
Francois Kamano then converted from close range deep into the second half, following a well-worked corner routine. But just a minute later, Amiens fired home their first consolation goal through John Mendoza.
Despite Gael Kakuta’s header on 90 minutes, Amiens couldn’t find an unlikely equaliser and remain above the drop zone only on goal difference.
Angers 0-4 Monaco
Monaco remained on course for a Champions League place after a comprehensive away victory at Angers.
The relegation strugglers got off to the worst possible after Ludovic Butelle’s own goal after only ten minutes.
On the half hour mark, Stevan Jovetic buried in Monaco’s second after being teed up by Adama Diakhaby. After 65 minutes, the visitors extended their lead through Jovetic’s second after being picked out inside the penalty area by Thomas Lemar.
And Andrea Raggi added a fourth on 71 minutes, after firing in Youri Tielemans’ cross to wrap up the three points.
Toulouse 0-1 PSG
Paris Saint-Germain ground out a narrow victory at Toulouse, to move another step closer to the Ligue 1 title.
Presnel Kimpembe, Angel di Maria and Giovani Le Celso all saw early efforts blocked and Toulouse managed to hold out until half-time.
But the pressure from the runaway leaders continued after the interval, as Neymar and Marquinhos came close.
Eventually the Parisians did find the breakthrough, after 68 minutes. di Maria and Neymar combined, and the Brazilian star finished emphatically past Alban Lafont to wrap up another win for Unai Emery’s men.
Nantes 2-2 Lille
Nantes’ recent inconsistent form continued after Lille picked up an invaluable away point in a 2-2 draw.
The home side took the lead after 16 minutes when Emiliano Sala steered home a finish past Mike Maignan, after being set up by Adrien Thomasson.
Nantes should have added a second before half time, but were denied by a string of impressive stops by Maignan.
But after 67 minutes, Lille were level against the run of play, when Thiago Mendes swung a delivery into the penalty area and Lebo Mothiba headed home past Ciprian Tatarusanu.
Claudio Ranieri’s side immediately looked to take the lead again, and did so minutes after the leveller. Lucas Lima crossed into the box, and Sala nodded into the net for his second of the game.
On 81 minutes, Lille were level again. Thiago Mendes passed to Nicolas Pepe, who steered an effort past Maignan into the bottom left corner.
And despite late pressure from the home side, Nantes were forced to share the spoils.
Strasbourg 2-1 Troyes
Troyes fell to an away defeat as Strasbourg, as their battle to avoid relegation continues to falter.
Strasbourg had to be patient to break the deadlock, and eventually found a way past Erwin Zelazny after 65 minutes. Martin Terrier teed up Jean Eudes Aholou, who blasted into the top right corner from just outside the box.
Four minutes later, and it was two-nil when substitute Jeremy Blayac tried his luck from outside the box and drove an effort into the bottom left corner.
Adama Niane pulled a consolation back for Troyes deep into second half stoppage time, but the visitors were unable to rally for an equaliser. The result leaves them one point adrift of safety.
Lyon 0-2 Rennes
Lyon fell to a shock home defeat against Rennes, after a controversial refereeing decision denied Nabil Fekir a clear penalty in the second half.
The visitors scored their first after only five minutes, when Wahbi Khazri fired home across Anthony Lopes.
Mariano Diaz then saw a shot smothered as Lyon looked to get back into the game, and Fekir also came close with a glancing header at fell the wrong side of the upright.
The Lyon pressure continued after the restart, and Fekir went down under a clear foul inside the penalty area on the hour mark. However, to the shock of the crowd and home players, the referee waved away the claims and instead booked the Lyon captain and Bertrand Traore for dissent.
And the frustration for Lyon continued when, deep into stoppage time, James Siliki was denied by Lopes before the forward rifled into the net on the follow-up to secure a surprising victory for Rennes.