Paris St Germain's lead at the top of the Ligue 1 table was cut to three points after they slumped to a shock 3-2 defeat at Sochaux.
Alex put the visitors in front but goals from Sebastien Roudet and Giovanni Sio put Sochaux in charge.
Blaise Matuidi levelled with 14 minutes to go but Sochaux were not to be denied and substitute Cedric Bakambu grabbed a dramatic winner eight minutes later.
Two goals by Clement Grenier saw Lyon close the gap on the leaders with an impressive 4-0 victory at Bordeaux.
Goals from Alexandre Lacazette, Gueida Fofana, as well as Grenier's double, provided the visitors with their first four-goal win at the Stade Chaban-Delmas since 1977.
Defeat for Bordeaux left them languishing in ninth, but still just four points away from Nice, following consecutive league defeats.
Reims and St Etienne shared the spoils in an entertaining 1-1 draw at the Stade Auguste Delaune.
The lively Pierre-Emerick Aubameyang put the visitors ahead early in the first half before Reims got a deserved equaliser through Gaetan Courtet with 15 minutes left.
The result leaves Reims one point above the bottom three but they will feel unlucky not to have claimed the win after finishing the match strongly.