Lyon's miserable run was extended as Montpellier's Joris Steve Marveaux scored an 85th-minute winner. Having drawn 1-1 with Monaco after goalkeeper Hugo Lloris' error, Lyon were looking to respond but fell behind eight minutes into the second half when Victor Hugo Montano struck.
Bafetimbi Gomis equalised after 83 minutes but Marveaux netted the clincher five minutes from time to leave Lyon fans furious as they watched their team slip further behind the chasing pack. Lyon have now won one of their last eight league games.
Bordeaux stretched their lead at the top to nine points after coming from behind to beat 10-man Toulouse 2-1 away from home.
The hosts snatched a surprise early lead through Paulo Machado with just five minutes on the clock. But Marouane Chamakh brought the league leaders level three minutes later and, after Cheikh M'Bengue was sent off for fouling Chamakh on the edge of the area in the 73rd minute, Wendel curled in the free-kick to win it for Laurent Blanc's men.
Lille extended their impressive run with a crushing 4-0 win at Nancy to move up one place to second. Lille's Belgian winger Eden Hazard collected a Gervinho pass and turned inside the area to open the scoring just before the break. Gervinho, with two goals, and fellow striker Pierre-Alain Frau, from a penalty, completed the rout in the second half.
Lorient twice came from behind to beat Valenciennes 3-2 and end a run of five matches without a win. Morgan Amalfitano scored twice for the home side to cancel out strikes by Johan Audel and Gael Danic, with Franco Rosa grabbing what proved to be the winner midway through the second half. The result sees Lorient climb to eighth in the standings, one point and two places better off than their opponents.
Marseille coach Didier Deschamps specifically warned his players not to let history repeat itself, but OM went down to a 2-0 defeat against Auxerre in the final game before the Christmas break for the second season running anyway. Marseille had plenty of chances on the night, but a goal in each half from Dennis Oliech saw the visitors take all three points back north with them.
Sochaux played with 10 men for 80 minutes but still stunned Rennes with a 2-0 win. The hosts had Asamoah Gyan dismissed for a stray elbow after 10 minutes but went ahead on the stroke of half-time through Stephane Dalmat. Edouard Butin added a second in the second half to extend Rennes' miserable run at Sochaux - they have not won at the Stade Auguste Bonal since 1999.
Goals by Anthony Le Tallec and Chu Young Park saw Le Mans and Monaco share the points in a 1-1 draw as the hosts inch away from the drop zone. Le Tallec put Le Mans ahead with a header eight minutes before the break but the lead was short-lived with Chu levelling four minutes after half-time. The point was enough to lift Le Mans above St Etienne and out of the relegation zone.
Paris St Germain condemned Grenoble to their 10th away game without a win to keep Mehmed Bazdarevic's side firmly rooted to the bottom. Peguy Luyindula, Sylvain Armand, Mevuld Erding and Christophe Jallet scored although Grenoble had little luck finding home keeper Apoula Edima Bete Edel on top form.
Mickael Pote scored an 85th-minute equaliser to deny struggling Boulogne a vital victory against Nice. After a goalless first half, the match came to life in the second period with four goals in 27 minutes. Damien Perrinelle put the visitors in front on 58 minutes and Jeremy Blayac restored their lead 17 minutes from time after Pote's first equaliser. But Boulogne could not hang on for the win with Pote grabbing his second of the game just five minutes from time.