Lyon extended their lead at the top of the table as Ligue 1 resumed after the winter break.
Alain Perrin's side fell behind against Toulouse as Anthony Reveillere scored an own goal after just nine minutes, but they powered back to win 3-2.
Hatem Ben Arfa made it 1-1 in the 17th minute and Juninho Pernambucano put Lyon in front on 56 minutes.
Karim Benzema gave Lyon a two-goal cushion after 66 minutes, and it proved crucial as Fabinho pulled one back for Toulose in stoppage time.
Nancy remain second after being held to a goalless draw by Caen, who were in stunning form before Christmas and are now unbeaten in seven.
Bordeaux strengthened their position in third with a 4-1 thrashing of Auxerre.
Daniel Niculae gave Auxerre a shock lead after just two minutes but Fernando Cavenaghi equalised in the 13th minute and Marc Planus (39) put Bordeaux ahead at the break.
Cavenaghi then struck for a second time seven minutes into the second half and David Bellion completed the rout in the last minute of the match.
Valenciennes climbed to fourth courtesy of a 2-0 victory over St Etienne.
Geoffrey Doumeng (8) and Gregory Pujol (89) were both on target for Valenciennes.
High-flying Le Mans suffered a surprise 2-0 defeat at home to struggling Sochaux.
Melvut Erding broke the deadlock for Sochaux at Leon Bollee on the stroke of half-time, and Mickael Isabey clinched the three points with another goal on 53 minutes.
Metz remain 11 points adrift at the bottom after being held to a 1-1 draw by Lille.
Daniel Gygax pounced in the 24th minute to give Metz the lead but they were denied only their second win of the season as Yohan Cabaye levelled for Lille in the third minute of stoppage time.
Massamba Lo Sambou's goal in the 90th minute was enough to separate the sides as Monaco beat Lorient 1-0.
Nice continued their fine form with a 1-0 win at Strasbourg, Honorato Ederson netting the vital goal after 52 minutes.