St Etienne made up ground in the race for a Champions League spot by defeating title-chasing AS Monaco 2-0 to provisionally move into third place in Ligue 1 on Saturday.
Fabien Lemoine fired a half-volley into the top corner in the 17th minute and Romain Hamouma doubled the lead for the hosts with a long-range strike in the 66th.
Lemoine shone in the first half, pouncing on a corner poorly cleared by the Monaco defence to score from 30 metres. The St Etienne midfielder came close to adding a second goal in the 41st minute when Brandao set him up, but goalkeeper Danijel Subasic turned around the post.
Lemoine also saved his team by clearing off the line a close-range effort from Monaco defender Nicolas Isimat-Mirin in the 39th minute.
Goalkeeper Stephane Ruffier protected St Etienne's lead moments later by parrying a powerful drive from Valere Germain and denying James Rodriguez, who was clean through on goal.
Hamouma dashed Monaco's hopes of a come back with a solo run from his own half. The winger outpaced four players and notched his eighth league goal with a swerving shot that Subasic could only palm into his own net.
Elsewhere, Sochaux kept alive their chances of avoiding relegation by stunning Bordeaux 2-0 with goals from Jordan Ayew in the 70th minute and Cedric Bakambu in the 83rd.
Reims defeated lowly Valenciennes 3-1 to provisionally climb to sixth place. Nicolas de Preville, Prince Oniangue and Gaetan Charbonnier scored for the hosts before Mathieu Dossevi netted a consolation goal in the 88th minute.
Mid-table Toulouse capitalised on their numerical superiority to down Nice 2-0. Eden Ben Basat converted a cross from Oscar Trejo in the 66th minute and Wissam Ben Yedder sealed the win from a counterattack in the 90th after Nice defender Lloyd Palun was red-carded for a violent tackle on Issiaga Sylla.
Guingamp won 2-0 at Rennes to leapfrog their opponents into 13th place. Thibault Giresse opened the scoring from a tight angle in the 39th minute and Mustapha Yatabare sealed the win with a penalty in stoppage time.
Bastia substitute Gianni Bruno volleyed home in the 50th minute to salvage a 1-1 draw with Lorient. Bruno Ecuele Manga put the hosts ahead in the 35th minute by flicking home a free kick from Yann Jouffre.
Information from The Associated Press was used in this report.