Paris Saint-Germain's unbeaten run in Ligue 1 ended in a 2-0 defeat at Evian on a night Mikael Landreau made French top-flight history.
The defending champions missed the chance to extend their undefeated run to 27 matches following a disciplined Evian display.
Laurent Blanc's PSG missed numerous chances in the first half, but after the break the home side were much more solid at the back and scored twice in the final 15 minutes through Clarck N'Sikulu and Modou Sougou.
Bastia goalkeeper Landreau, meanwhile, broke Ligue 1's all-time appearance record on Wednesday in the 1-1 draw in the Corsica derby at Ajaccio.
The former Nantes, PSG and Lille keeper played in his 603rd match in France's top flight and the game got off to an excellent start for the visitors as Florian Raspentino gave Bastia a ninth-minute lead.
Bastia could not hold on, however, as Eduardo equalised eight minutes from the end, meaning the hosts remain in the relegation zone, while Bastia drop a place to ninth.
Saint-Etienne lost ground on the top four following a humbling 3-1 defeat at Rennes, who in turn lifted themselves up to 11th.
Silvio Romero broke the deadlock for the hosts in the 33rd minute, giving Rennes a 1-0 lead at the break, but it did not take long for them to double the deficit after half-time.
Romain Alessandrini struck in the 55th minute before Romero grabbed his second of the match with 22 minutes remaining to secure the three points, with Mevlut Erdinc's stoppage-time goal nothing more than a consolation.
Bordeaux stayed in touch with the European places and moved above opponents Guingamp with a 1-0 win at Stade du Roudourou.
Julien Faubert's 26th-minute strike was enough for the visitors, who were reduced to 10 men nine minutes after half-time as Lucas Orban was shown a second yellow card. But Guingamp were unable to capitalise before seeing Claudio Beauvue sent off as well.
Sochaux remain bottom after losing 2-0 at home to Reims, who leapt up to 10th thanks to goals from Christopher Glombard and Prince Oniangue.
Montpellier received two red cards in the final stages of their 2-0 home defeat to Lorient.
Maxime Barthelme scored the match's first goal three minutes after half-time, before Hilton and Abdel El Kaoutari were dismissed in consecutive minutes. Vincent Aboubakar's penalty in added time made sure of an away win.