Yassine Benzia scored twice against his old club as Lille ran out 2-1 winners at Lyon, with the hosts missing the chance to close up on the Ligue 1 leaders.
Memphis Depay made his first start for Lyon after a transfer from Manchester United, and saw an early effort hit the crossbar, but it was former academy player Benzia who stole the headlines.
Benzia, who made his Ligue 1 debut for Lyon aged just 17 during the 2012-13 season, put Lille ahead with a low shot seven minutes before the break for what was his first goal in just over a year.
Lyon had chances to equalise as Mathieu Valbuena hit the woodwork before Corentin Tolisso also went close.
Algeria-born forward Benzia, who joined Lille in the summer of 2015, doubled the visitors' lead from the penalty spot with 10 minutes left.
Although Alexandre Lacazette reduced the deficit with a penalty of his own in the 86th-minute, there was no grandstand finish as Lyon remained in fourth and still eight points behind Paris Saint-Germain, who host leaders Monaco on Sunday evening.
Bordeaux moved up to sixth after a 2-0 win at Nancy with an own goal from Joffrey Cuffaut midway through the second half and a late effort from teenage Brazilian substitute Malcom.
Pierre Lees-Melou scored a last-minute winner to give Dijon a 3-2 victory at bottom club Lorient.
Lois Diony put the visitors ahead on 10 minutes, but Lorient had turned the match around with an equaliser from Sylvain Marveaux early in the second half and a penalty from Majeed Waris.
However, Dijon were level with 20 minutes to go through Jordan Loties before Lees-Melou won it when he tapped the ball in at the far post following a break down the left.
It finished 1-1 between Rennes and Nantes at Roazhon Park.
Jules Iloki gave Nantes the lead on the stroke of half-time, which had looked enough for all three points until, with just four minutes left, Joris Gnagnon got on the end of a deep free kick to nod in an equaliser.
Angers got a much-needed win in their battle to pull clear of the relegation zone when beating fellow strugglers Metz, who had two players sent off at Stade Jean-Bouin.
Flavien Tait gave the home side the lead on 25 minutes, only for Ismael Traore's own goal to level things up. Nicolas Pepe had Angers ahead again 10 minutes before half-time.
Midfielder Renaud Cohade was then sent off, with defender Fallou Diagne also later shown a red card in the 66th minute as hopes of a comeback ended.
Bastia and Caen played out a 1-1 draw at Stade Armand-Cesari, which does neither side much good in their scrap for points at the wrong end of the table.