Monaco came back from two goals down to secure a remarkable 3-2 victory over Lyon at the Stade Louis II in a match in which they were reduced to 10 men just before half-time.
Rony ' 88th-minute strike sealed all three points for the Ligue 1 champions, who as well as having Keita Balde sent off in the 44th minute lost Danijel Subasic and Radamel Falcao to injury.
Lyon had gone 2-0 up through efforts from Mariano in the 12th minute and Bertrand Traore in the 27th before Balde replied in the 31st, and Falcao then equalised five minutes later, tucking away the loose ball after his penalty had been parried by Anthony Lopes.
Monaco swap places with Lyon in the table, moving up from fourth to third. Leonardo Jardim's side are now two points above Bruno Genesio's, and one behind second-placed Marseille.
Lyon made a lively start to the game and opened the scoring when Mariano's strike from distance, taking a deflection off Youri Tielemans, caught out Subasic.
The Monaco goalkeeper hurt himself as he dived across to try to stop the ball spinning inside his right-hand post and had to come off, being replaced by Seydou Sy.
Things then got worse for the hosts as Lyon deservedly extended their lead, Traore meeting Ferland Mendy's cross and finishing from close range.
Having shown little in attack, Monaco then suddenly pulled a goal back, with Balde bursting into the box before unleashing a low strike, and soon after they were level.
The hosts were awarded a penalty when Mendy brought down Kamil Glik and having seen his subsequent effort from 12 yards blocked by Anthony Lopes, Falcao showed quick reactions to slot home on the follow-up.
Balde then only had himself to blame as he was dismissed having picked up two yellow cards in quick succession, the first for kicking the ball away and the second for a poor slide tackle on Mendy.
The problems did not end there for Monaco, with Falcao limping off in the 55th minute with an apparent thigh issue sustained when catching his leg on Mendy while sending a strike over the bar.
But Jardim's men, with Stevan Jovetic on as Falcao's replacement, continued to threaten, and after Rony Lopes and Tielemans were denied by fine Anthony Lopes saves, the former notched his dramatic winner.
Sloppy play by Marcelo was punished as Rony Lopes combined well with Jovetic and struck the ball into the corner of the net.