Montpellier's poor record at home to Monaco continued on Friday as Leonardo Jardim's side came from 2-0 down to snatch a stunning 3-2 victory.
Daniel Congre turned home from a corner to put Montpellier in front and an own goal from Guido Carrillo just before the break doubled the advantage.
Fabio Coentrao halved the deficit just before the hour mark before Thomas Lemar levelled the scores just nine minutes later, and a howler from goalkeeper Jonathan Ligali allowed Fabinho to drill home a last-gasp penalty and extend Monaco's unbeaten run at the Stade de la Mosson to 17 Ligue 1 matches.
Ligali produced a brilliant point-blank stop to deny Nabil Dirar on the volley after Ivan Cavaleiro's cross, but the first half-hour was largely uneventful until Montpellier grabbed the lead.
Hilton's header from Ryad Boudebouz's corner was well saved by Danijel Subasic, but Congre fired in the rebound from close range.
Monaco looked short on ideas in the final third but Mario Pasalic spurned a glorious opportunity to equalise when he directed a header high and wide when unmarked just six yards out.
And Montpellier swiftly made it pay, as Boudebouz's curling free-kick struck Carillo in the back and nestled in the bottom corner.
Coentrao had looked a threat early in the second half and he got Monaco back into the game with a composed low finish at the far post.
Pasalic again misjudged a header when given far too much space in the area as Monaco pushed for an equaliser, but Lemar simply could not miss when he tapped in Dirar's cross unmarked at the back post.
Ligali expertly denied Bernardo Silva's header but the 24 year-old ruined his earlier good work when he fumbled a cross and clattered into Coentrao as he attempted to gather the ball, and Fabinho swept home from the spot.