Paris St Germain extended their lead at the top of Ligue 1 to five points with a hard-fought 2-1 win at bottom club Ajaccio.
The home side have won just one league game all season but shocked the reigning champions as Eduardo fired them into a sixth-minute lead.
They continued to frustrate PSG but Laurent Blanc's men levelled five minutes before the break through Ezequiel Lavezzi and Blaise Matuidi bagged the winner with 16 minutes to play.
Second-half goals from Clement Grenier and Yoann Gourcuff helped Lyon to a 2-0 win over struggling Sochaux.
It was as regulation a win as the home side could have hoped for, with relegation-haunted Sochaux never looking like the side which beat Rennes last time out and more like the one with just two league wins to its name this season.
Lyon enjoyed the bulk of the chances throughout and, after a wasteful first half, finally took some of them in the second period to take a first win in three.
Toulouse claimed bragging rights in the south east with a 1-0 win away to derby rivals Bordeaux after each team had a man sent off in the first half.
Uros Spajic of Toulouse and Maxime Poundje of Bordeaux both got their marching orders, the latter for conceding a penalty which Wissam Ben Yedder saw saved by Cedric Carrasso.
Toulouse's Denmark forward Martin Braithwaite scored the goal eight minutes after half-time and though both Andre Poko and debutant Guillaume Hoarau went close, the hosts could not respond.
Valenciennes survived a late fightback to claim a 3-2 win over Bastia and secure back-to-back victories for the first time this season.
Mathieu Dossevi scored twice in the first half to put the strugglers in control and when Abdul Waris grabbed a third it looked as if it was all over. But Romaric and Ilan netted for the visitors to set up a tense finish as VA held on.
Goal-shy Guingamp played out a goalless stalemate with a below-par St Etienne.
Fourth-placed St Etienne came into the contest on the back of three straight league wins but were unable to break down a Guingamp side who are always tough opponents on home soil.
Although a point against one of the league's form sides will be welcomed, the hosts will be worried at drawing yet another blank in front of goal - their fourth in the last five Ligue 1 outings.
Rennes and Nice both missed penalties as their clash ended goalless.
Foued Kadir's first-half spot-kick for the hosts was blocked by David Ospina, who had a fine match, while Dario Cvitanich fired his penalty early in the second half over the bar.
The point suited Nice more than Rennes as the visitors remained two points ahead of their opponents, who both have a cushion over the relegation zone.