Zimbabwe striker Tino Kadewere scored a late winner as Lyon beat Angers 1-0 to move second in Ligue 1, just four points behind leaders Paris Saint-Germain.
Montpellier beat Strasbourg 4-3 in a dramatic match earlier in the day and sit joint-third with Monaco, behind Lyon on goal difference.
Defending champions PSG blew a two-goal lead to lose 3-2 at Monaco on Friday and hand the chasing pack the chance to close the gap.
Lyon, semi-finalists in last season's Champions League, took advantage, but needed an 80th-minute winner from Kadewere.
"We came to win and take second and we did it," said Lyon coach Rudi Garcia. "It wasn't our best game but we've had matches when we had lots of chances but didn't win, so that balances it out."
The 24-year-old Kadewere, a close-season arrival from second-tier outfit Le Havre, has scored four Ligue 1 goals this term.
Montpellier have an identical record and goal difference to Monaco, although fifth-placed Lille could leapfrog the pair and Lyon and move two points behind PSG if they beat Lorient later on Sunday.
Montpellier, the 2012 champions, led 2-0 through early goals from Pedro Mendes and Andy Delort, but Strasbourg hit back with a brace of penalties from Kenny Lala and Habib Diallo.
Former Wigan Athletic striker Delort restored the hosts' advantage, and although Ludovic Ajorque levelled on the stroke of half-time, Gaetan Laborde had the final say midway through the second period.
Sixth-placed Marseille are only six points off the pace with two games in hand.