Hubert Fournier’s side broke the deadlock after just three minutes when Corentin Tolisso converted a Nabil Fekir corner.
However, Idrissa Gueye clawed back an equaliser in the second half after a clever one-two with Rony Lopes.
And four minutes later, right on the hour mark, Manchester City loanee Lopes completed the turnaround with a nice strike from outside the box.
“A game is 90 minutes long. We can have regrets though, especially after our quality first half,” coach Fournier said. “We could have been more ambitious instead of sitting back.
“It’s a big blow and I am angry because we missed a great opportunity. Every time we have the chance to widen the gap between us and the teams below us in the table, we slip up. I just hope we won’t regret it in the coming weeks.”
Tolisso’s chance was Lyon’s first attempt on target but it seemed to force the Ligue 1 leaders into a coma.
The young midfielder netted his fifth of the season when he fired low past Vincent Enyeama following Fekir’s corner, but the Nigerian goalkeeper was never really troubled after that.
Meanwhile, LOSC never seemed able to trouble the leaders themselves in the first half as they looked to improve on a run of just one win in their last six league outings.
However, the second half saw a complete turnaround with Gueye sparking the hosts into life by stabbing the ball past Anthony Lopes in the Lyon goal after a quick one-two with Rony Lopes inside the area.
The Lyon ‘keeper was once again beaten soon after when his fellow Portuguese curled a superb shot low into the net from just outside the area.
Henri Bedimo and Christophe Jallet were both denied by Enyeama in the latter stages as Lyon pushed forward in search of an equaliser.
Their defeat gives Paris the chance to climb above OL into top spot if they can win at in-form Monaco on Sunday night.
However, OL remain four points ahead of third-placed Marseille, who suffered a shock 3-2 defeat at home to Caen on Friday after leading 2-0.
Later on Saturday, Saint-Etienne moved provisionally above Monaco into fourth on goal difference despite having to settle for a 1-1 draw away at struggling Toulouse.
Max-Alain Gradel gave Les Verts the lead from the penalty spot but his fellow Ivorian Jean-Daniel Akpa-Akpro equalised for the hosts with two minutes left.
Bordeaux missed a trick in their quest for European qualification as they drew 1-1 with Reims despite Swedish striker Isaac Kiese Thelin giving them the lead with his first goal in French football.
At the bottom, Evian moved out of the relegation zone on goal difference from Toulouse with a 2-1 win at Metz, who are now seven points from safety.
Lens are also seven points from safety after losing 1-0 to Rennes while Lorient boosted their own hopes of beating the drop with a 2-0 victory against Bastia. – Agence France-Presse