Nantes stormed into a three-goal half-time lead and then rode their luck to win 3-1 at home on Saturday and hand runaway leaders Paris St Germain their second Ligue 1 loss of the season.
Nantes saw little of the possession, had a player sent off only to see the red card overturned on VAR review and then watched as Neymar squandered a penalty in a thrill-a-minute clash at the Stade de la Beaujoire.
But they came away with a full haul of points in a surprise reversal for the star-studded PSG line-up.
Randal Kolo Muani put Nantes ahead within four minutes and they were 2-0 up some 12 minutes later when teenager Quentin Merlin scored his first goal for his hometown club with a rasping left-footed shot. Nantes defender Dennis Appiah was sent off two minutes before the break for tripping Kylian Mbappe as he headed goalwards. But the referee was asked to review his decision by the VAR and changed it to a yellow card when replays showed the clash was not as cynical as first presumed.
VAR then intervened again in stoppage time before the break when Georginio Wijnaldum handled the ball in his own penalty box, handing Nantes a spot kick which Ludovic Blas converted for a stunning halftime lead.
PSG pulled a goal back a minute into the second half as Lionel Messi set up Neymar for a clinical finish.
Late equaliser
Serie A leaders AC Milan averted a shock defeat to basement club Salernitana on Saturday, with Ante Rebic rescuing a 2-2 draw with a late strike from long range.
Milan, who are chasing a first title in 11 years, went ahead in the fifth minute with a strike from Brazilian Junior Messias after he had been released by full back Theo Hernandez. Salernitana pulled level in the 29th minute through an overhead kick from striker Federico Bonazzoli and then took a surprise lead in the 72nd with a diving header from Bosnian forward Milan Djuric.
Earlier on Saturday, Roma fought their way back from two goals down to salvage a 2-2 draw at home to Verona but coach Jose Mourinho was sent off in added time for gesturing towards the referee.
Roma, who had a depleted squad due to injuries and a Covid-19 outbreak, trailed early on to a tap-in from Antonin Barak in the fifth minute and an Adrien Tameze strike in the 20th.