Ligue 1 Wrap: Guingamp stun Monaco to spark PSG title party
Monaco needed all maximum points to keep the title race alive ahead of PSG's encounter with Rennes later in the day, but Claudio Ranieri's men were frustratingly held by a determined Guingamp side, who earned a share of the spoils late on.
The principality club looked to be on their way to victory when Dimitar Berbatov headed home Nabil Dirar's right-wing cross after 77 minutes.
But Ranieri's team were stunned just eight minutes later as the Coupe de France winners levelled, Fatih Atik finding the net from just inside the area with a fine volley past Danijel Subasic.
Monaco were given renewed hope when Mustapha Diallo was sent off for Guingamp in the closing stages following a collision with Jeremy Toulalan.
However, the hosts could find a way past the 10 men, who clung on to hand PSG their second successive Ligue 1 title for the first time in their history.
Rennes then spoiled PSG's title party with a stunning 2-1 win that all but guarantees their survival.
An electrifying atmosphere at the Parc des Princes was amplified even further when Ezequiel Lavezzi fired Laurent Blanc's side into an early lead after just three minutes.
But quickfire first-half goals from Foued Kadir and Paul-Georges Ntep turned the tide, and despite incessant pressure, as well as the introduction of Zlatan Ibrahimovic on his comeback from injury, PSG were unable to make it a 30th successive home Ligue 1 match without defeat.
Rennes had been the last team to beat PSG in front of their own supporters in the league, when their nine men pulled off a 2-1 win in November 2012.
An identical result for Philippe Montanier's men - their first victory in five league outings - moved them six points clear of third-bottom Sochaux with just two rounds remaining and a vastly superior goal difference.