Monaco came from two goals down to end Paris St-Germain’s eight-match winning streak in Ligue 1, moving second with a stunning victory.
PSG’s Kylian Mbappe scored two first-half goals on his return from injury.
But Monaco came out transformed after the break, as Kevin Volland scored twice past Keylor Navas in 14 second-half minutes.
Cesc Fabregas completed the comeback after Abdou Diallo gave away a penalty and saw red six minutes from time.
PSG were dominant in the first half, scoring twice and having a further two goals disallowed as Moise Kean and Mbappe were both denied by the offside flag.
But Fabregas’ half-time arrival completely altered the dynamic of the game, and PSG struggled to cope with the Spaniard’s accomplished passing.
They had conceded just one goal in eight league games prior to the game, but were not at their best against the 2016-17 Ligue 1 winners despite the return of attacking trio Mbappe, Neymar and Kean.
Monaco, without captain Wissam Ben Yedder after a positive coronavirus test, fielded a young team, with eight players in the starting XI under the age of 23.
🤗 @cesc4official would like to wish you all pleasant 𝙘𝙤𝙢𝙚𝙗𝙖𝙘𝙠 dreams 😴 ❤️ #ASMPSG pic.twitter.com/Md6mS5kN6U
— AS Monaco EN (@AS_Monaco_EN) November 21, 2020