© Getty Images
Lyon responded through Mouhamadou Dabo, but three minutes after his long-range effort was saved, Nice took the lead when Eduardo fired into the roof of the net from 12 yards.
As half time approached, Lyon finally started to stamp their authority on proceedings, but after Corentin Tolisso, Jordan Ferri and Yoann Gourcuff were all denied, they went into the break requiring a second-half turnaround to regain top spot in the table.
After the restart, Clinton N'Jie had a shot well saved by Simon Pouplin, but nine minutes into the second half Lloyd Palun saw red after a foul inside the penalty area resulted in him being handed a second yellow card.
That allowed Maxime Gonalons the chance to convert into the bottom corner to get Lyon back on level terms and give them 35 minutes with a man advantage as they targeted a second goal that would take them two points clear of PSG.
However, it was Nice who made all of the running in the aftermath of the red card, with Eduardo and Alassane Plea both missing the target when provided with the opening.
However, with four minutes remaining, Nice found an unlikely winning goal through Valentin Eysseric, who converted from the spot after Plea had been fouled by Kone.