Kylian Mbappe had netted a first-half brace, including a penalty, against his former side, taking him to 99 goals for PSG and leaving his current team seemingly on course for a ninth consecutive league win.
But German international Kevin Volland struck twice for Monaco after the break and Fabregas converted from 12 yards in the 84th minute after Abdou Diallo had been sent off for conceding the all-important penalty.
PSG remain clear at the top of Ligue 1, but this result is a major setback for Thomas Tuchel’s team before a crucial Champions League tie against RB Leipzig next week.
“I am more surprised than I am angry,” said Tuchel, who was also disappointed to see further first-half goals for Mbappe and Moise Kean disallowed.
“I saw two totally different halves. First of all we completely controlled the game…and then the second half was completely different. I can only say it is our responsibility.”
Niko Kovac’s Monaco climb up to second in the table, four points behind PSG, but Lille can reclaim second spot and move to within two points of the leaders if they beat Lorient on Sunday.
“If you come back from two down to win 3-2 it is for sure something special, but I don’t want to glorify it too much,” said ex-Bayern Munich coach Kovac.
“We cannot stop and say everything is done. It was a big victory but nothing more.”
PSG have been severely handicapped by injuries and suspensions this season, and Neymar was only deemed fit enough for a place on the bench at kick-off at the Stade Louis II after missing Brazil’s World Cup qualifiers over the last week due to fitness problems.
Mbappe was back in the starting line-up, however, after missing his club’s last two outings prior to the international break with a hamstring injury.
Facing his former club, with whom he won the Ligue 1 title in 2017, Mbappe burst through to put Paris in front in the 25th minute after being released by Angel Di Maria.
He then found the net again in the 37th minute, converting a penalty awarded for a foul on Rafinha by Youssouf Fofana.
His ninth goal of the season leaves him just one away from a century of goals in a PSG shirt since his arrival from Monaco at the start of 2017/18 in a 180 million-euro ($213m) deal. He even had another goal disallowed just before half-time.
Without their French international striker Wissam Ben Yedder after he tested positive for coronavirus, it was a long way back for Monaco but they reduced the deficit seven minutes after half-time when Gelson Martins set up Volland to score from close in.
Volland then equalised with a tap-in after Fabregas, on as a substitute, had beaten goalkeeper Keylor Navas to a cross.
Worse was to come for the visitors, as Diallo — another former Monaco player — clumsily conceded a penalty and was shown a red card after the referee opted to review the images.
Fabregas made no mistake from the spot, as PSG lost a Ligue 1 game after leading by two goals for just the second time since the Qatari takeover of the club in 2011.
Earlier Rennes warmed up for their Champions League rematch with Chelsea in the worst possible fashion, going down to a 1-0 home defeat at the hands of Bordeaux.
Hatem Ben Arfa scored the only goal of the game against his old club, as Rennes slip to fifth before entertaining Chelsea in a game they realistically need to win to keep any hopes of reaching the Champions League last 16 alive.
© Agence France-Presse
Competitive racing was the order of the day at the TCS New York City Marathon…
A coaching team from Bundesliga club 1.FSV Mainz 05 visited Totalsport Safe-Hub in Alexandra for…
An NBA season packed with African talent and colourful courts is underway, with games available…
Victor Mokoena and his team in the Tsitsikamma section of the Garden Route National Park…
Rising Ethiopian marathon star, Abdisa Tola, and South Africa’s running great, Glenrose ‘Supercharger’ Xaba, created…
Zimbabwean Collin Kanyimo and British athlete Catherine Williamson took the trail honours in the 44km…