Lyon are up to second in Ligue 1 after a late Claudio Beauvue penalty gave them victory away to Troyes.
OL started on the front foot at the Stade de L'Aube as Mathieu Valbuena brought an early save out of Paul Bernardoni, before the Troyes stopper was called into action again to deny Jeremy Morel soon after.
Beauvue also went close for Hubert Fournier's men, but Lyon then survived a scare when Thomas Ayasse blazed a shot over the bar.
The hosts then suffered a major setback when Corentin Jean was sent off for a poor tackle on Sergi Darder.
Lyon tried to make the most of their one-man advantage as Jordan Ferri had his attempt saved before Alexandre Lacazette missed the target on the stroke of half time.
The visitors continued to apply pressure after Valbuena was again thwarted by Bernardoni, with Troyes seemingly edging closer to a point.
Troyes then nearly edged ahead as both Stephane Darbion and Lossemy Karaboue had their strikes stopped by Anthony Lopes.
However, Lyon were awarded a penalty with 12 minutes left after Chris Mavinga's foul on Lacazette.
Beauvue stepped up and secured victory for Lyon, who are now 10 points behind Paris Saint-Germain.