PARIS (AP) -- Bottom side Metz stunned second-placed Nice 1-0 in the French league on Saturday.
Nice's second straight defeat at Allianz Riviera Stadium could lose it second place to Rennes, which plays on Sunday.
The hosts gave a listless performance in the first half and Metz capitalized on Nice's lack of urgency to take the lead in the 31st minute when Fabien Centonze converted a low cross from Nicolas de Preville.
"We must create better habits," Nice center back Dante said. "We've taken the habit of poorly starting games and yet of winning them. And we think that's the way things will go. (...) We must be ready mentally from the first second."
Goalkeeper Alexandre Oukidja protected Metz's lead by saving Andy Delort's close-range header with his legs on the stroke of halftime and pushing behind a cross-shot from Pablo Rosario in the 63rd.
"That can be a turning point for us to win tonight against the second-placed team," Centonze said.
Elsewhere, Lille striker Jonathan David missed a penalty as the hopes of the defending champion to get back in the race for European spots took a blow after drawing with mid-table Nantes 1-1.
Lille extended its winless streak in the league to six games to remain in the bottom half of the table, one point behind Nantes. Lille has fallen out of the title race because of inconsistent performances, failing to replicate its Champions League form. Lille beat Salzburg 1-0 on Tuesday to take the lead in its group.
"We had to do more, we had to do better," Lille midfielder Benjamin Andre said. "We said we had to rediscover our efficiency, and once again we didn't have it."
Lille got off to a good start by opening the scoring in the ninth minute. Jonathan Bamba charged down the left wing to cut the ball for Burak Yilmaz, who fired into the bottom corner.
But they then lost control of the game.
Lille goalkeeper Ivo Grbic had to parry Moses Simon's close-range effort in the 16th. Forward Ludovic Blas outmuscled Tiago Djalo and cut inside to level with a low strike in the 24th. Blas also set up Brazilian full back Fabio, who hit the base of the post in the 30th.
Lille injected more creativity by replacing Amadou Onana with Renato Sanches in the 62nd. Reinildo Mandava tested Nantes goalkeeper Alban Lafont with a powerful strike in the 65th.
Nantes went down to 10 men in the 77th after Fabio killed a scoring chance by pulling back Zeki Celik. However, Lafont saved David's subsequent penalty.
On Friday, Lens drew with Angers 2-2 to stay fourth.