Ligue 1 leaders Paris Saint-Germain threw away a two-goal lead against Monaco as Kevin Volland's second-half brace and a late Cesc Fabregas penalty secured a remarkable 3-2 win at Stade Louis II on Friday. 

Thomas Tuchel's side had looked to be cruising to a ninth consecutive top-flight win thanks to Kylian Mbappe's double against his former side before the interval. 

Monaco were a team reborn in the second half, though, and claimed a stunning three points thanks to Volland's close-range strikes and Fabregas' 84th-minute spot-kick, with PSG's Abdou Diallo sent off in the penalty incident.

The result means PSG's lead at the Ligue 1 summit can be cut to just two points if Lille overcome Lorient on Sunday.

Keylor Navas had to be alert in the early stages to paw away Volland's powerful free-kick as PSG started sluggishly.

Tuchel's side did forge ahead after 28 minutes, though, courtesy of their first shot on target. Mbappe latched onto Angel Di Maria's through-ball, raced away from Axel Disasi and coolly lifted over Vito Mannone from 15 yards.

The 21-year-old then scored his second eight minutes before the interval, powering past Mannone from the spot after Youssouf Fofana had fouled Rafinha while attempting to block a cross.

Moise Kean and Mbappe had efforts ruled out by VAR for offside, while the former also crashed a header against the crossbar before half-time as PSG threatened to run riot.

Navas made a wonderful save after the restart to keep out Volland's header from a corner, but there was little he could do to prevent the German tapping home to reduce the deficit after 52 minutes.

Volland then drew Monaco level in the 65th minute, tapping into an empty net after substitute Fabregas had clipped across the face of goal after a move involving Aurelien Tchouameni.

Monaco sealed the most unlikely of three points six minutes from time when Fabregas slammed in from 12 yards after Diallo had lost possession and brought down Volland inside the area.

Referee Clement Turpin compounded defender Diallo's misery by upgrading his caution to a red card following a pitchside review as Monaco celebrated their first league win in eight attempts against the French champions.

What does it mean? Stirring fightback floors PSG

Monaco should have been dead and buried at half-time, but Niko Kovac's side produced one of the most memorable turnarounds in recent Ligue 1 history to leave the champions reeling. They were good value for the victory, too. They had 15 shots to PSG's nine, completed more passes (541 to 494) and won the possession battle in each half.

It marks only the third time the hosts have beaten PSG in their last 17 Ligue 1 matches, while the Parisians, who substituted Mbappe when the game was in the balance, are left to rue a first domestic defeat since the 1-0 loss to Marseille on September 13. 

Fabregas rolls back the years

Introduced at half-time, 33-year-old Fabregas was the key figure behind Monaco's wonderful comeback. In addition to scoring the late winner, the former Barcelona and Chelsea midfielder had three shots, made a joint game-high three key passes - one of which led to Volland's second - and put in two successful crosses, more than any of his team-mates. 

Diallo costs his side dear

PSG would be heading back to the capital with a point had it not been for Diallo's slapstick defending. The 24-year-old inexplicably gifted Volland the ball late on and then proceeded to haul him down, allowing Fabregas to seal maximum points.

What's next?

PSG face a crunch Champions League Group H clash against RB Leipzig on Tuesday before returning to domestic action at home to Bordeaux on Saturday. Monaco, meanwhile, host Nimes next Sunday.