Nantes stormed into a three-goal half-time lead and then used their luck to clinch a 3-1 win at home on Saturday and their second Ligue 1 loss of the season to fledgling leaders Paris Saint-Germain.
Nantes had seen very little possession, with a player being sent off only to see a red card on the VAR review and then Neymar on a penalty in a thrilling-minute clash at the Stade de la Beaujoire.
But they came up with a full run of points in a surprise turnaround for the star-studded PSG line-up.
Randal Colo Muni led Nantes within four minutes after a stormy run under the left wing by Moses Simon, and they were 2–0 ahead 12 minutes later when teenager Quentin Merlin scored his first goal left for his hometown club. shot done with foot
Nantes defender Denis Appia was sent off two minutes before the break for tripping Kylian Mbappe while heading towards goal. But the referee was asked by VAR to review his decision and it was turned into a yellow card when replays showed the confrontation was not as cynical as before.
VAR intervened again in stoppage time before the break when Georginio Wijnaldum handled the ball in his penalty box, delivering a spot kick to Nantes, which was converted by Ludovic Blass for a surprising halftime lead.
PSG, who started the game 13 points ahead of second-placed Olympique de Marseille, pulled a goal a minute behind in the second half as Lionel Messi set up Neymar for a clinical finish.
The Brazilian, in the starting line-up for the first time since November, had a chance to further narrow the deficit when Appia again brought down Mbappe, but Neymar's penalty straight on Alban Lafont was a weak effort.
Mbappe produced an unrecoverable lapse from point-blank range in the final 20 minutes as PSG kept up the pressure but were unable to utilize their many opportunities.
The victory saw Nantes jump from 10th to fifth place in the Ligue 1 standings as they pushed for a spot in next season's European club competition.
Earlier on Saturday, Olympique Lyonnais held the hosts Racing Lens to a 1-1 draw with a goal as striker Tino Cadavere scored his first goal since March.
Lens took the lead in the 13th minute through Jonathan Kloss and the ball hit the net again in the 37th minute, but Seko Fofana's attempt was rejected after a VAR check. Kadivere equalized at the stroke of half time.