Denis Zakaria scored twice as Monaco shook off a poor run of form by beating 10-man Nice 3-2 to move into third place in the French league.
Aleksandr Golovin scored the winning goal on Sunday (Monday AEDT) for a Monaco side that was under pressure after they got knocked out by third-tier Rouen in the last 16 of the French Cup on Thursday.
Monaco had also failed to win any of their three previous league games.
Nice centre back Dante received a red card after a video review showed he planted his studs into Takumi Minamino's left shin with his follow-through in the 52nd minute.
In a heated French Riviera derby, Zakaria opened the scoring in the 16th minute by picking his spot from 28 yards to fire into the top corner.
Nice forward Gaetan Laborde levelled with a penalty in the 37th minute after Thilo Kehrer had brought down Tom Louchet.
Zakaria restored Monaco's lead by heading a cross from Minamino into the bottom corner in the 50th minute.
But a resilient Nice rallied again in the 74th when Evann Guessand outjumped the Monaco defence to head in a corner.
Three minutes later, Golovin shattered the hopes of second-placed Nice by converting a rebound after goalkeeper Marcin Bulka had denied Ismail Jakobs.
Also on Sunday, Rennes won their fifth straight game by edging Le Havre 1-0 to boost their bid for a Champions League spot.
Midfielder Benjamin Bourigeaud scored the winning goal in the 60th minute, firing a half-volley through the legs of goalkeeper Arthur Desmas as Rennes moved within six points of the top four.
Fortunes have changed quickly for Rennes, who were just one point above the relegation play-off spot in November when the club dismissed Bruno Genesio to hire Julien Stephan.
The result sees Rennes leapfrog Marseille into seventh place, while Le Havre stayed 11th.
Bottom side Clermont held Brest 1-1, who slipped to fourth place.
Brest took the lead with a long-range effort from Pierre Lees-Melou in the 50th minute, but Grejohn Kyei equalised with a powerful header in the 69th minute.
Both teams were down to 10 men in the 88th minute after Brest goalkeeper Marco Bizot and Clermont winger Elbasan Rashani were sent off for repeatedly shoving each other.
Lorient boosted their safety hopes by beating mid-table Reims 2-0 with second-half goals from Ivory Coast forward Mohamed Bamba and Tiemoue Bakayoko.
Lyon rallied past Montpellier 2-1 to climb to 13th place, level on points with Nantes.
Egypt striker Mostafa Mohamed had a goal and assist to help Nantes snap a six-game winless run with a 2-1 victory over Toulouse.
Paris Saint-Germain beat Lille 3-1 on Saturday to extend their lead at the top of the league to 11 points.
Australian Associated Press