Paris Saint-Germain's hopes of retaining their Ligue 1 crown took a huge blow as Serhou Guirassy cancelled out Neymar's penalty to earn Rennes a 1-1 draw on Sunday.
With Lille beating Lens 3-0 on Friday, the pressure was on Mauricio Pochettino's side – knocked out of the Champions League in midweek – to respond in the title race.
But without the suspended Kylian Mbappe, PSG turned in a below-par performance, and only led thanks to Neymar's contentious first-half penalty.
Julian Draxler went close to doubling PSG's tally, yet their sluggishness finally proved costly as Guirassy headed home in the 70th minute, with Presnel Kimpembe's late red card compounding the champions' misery.
Ander Herrera sliced wide from Layvin Kurzawa's cut back, but PSG otherwise started poorly, and were almost punished when Guirassy chested in Jeremy Doku's shot, though the offside flag was rightly raised.
PSG were again fortunate just after the half-hour mark, Danilo Pereira bundling into Guirassy, who would have been through on goal, yet the officials failed to spot the foul.
Rennes' frustration with the officials was exacerbated on the stroke of half-time. Nayef Aguerd stuck out a leg to deny Kurzawa, who needed treatment and, after checking with the VAR, Ruddy Buquet harshly deemed it a foul.
Neymar's finish was far from convincing – Alfred Gomis guessing the right way, but failing to keep out the Brazil star's strike.
A fine first touch put Doku through immediately after the restart, only for the winger to direct a tame attempt straight at Keylor Navas.
Draxler is reportedly next in line for a new PSG deal, and the Germany international nearly produced a stunning goal before the hour, but after setting himself up with some wonderful touches, his on-the-turn volley flashed just wide.
Moise Kean went similarly close moments later, though PSG could only attack in flashes, and they were made to pay with 20 minutes remaining.
Benjamin Bourigeaud's corner was met by Guirassy, whose header clipped in off the upright, meaning Lille have one hand firmly on the trophy, and Kimpembe's red for a horrid lunge on Doku summed up a shambolic PSG display.
What does it mean? Four points will do it for Lille
Lille sit on 79 points, with PSG second on 76, meaning the leaders need to collect only four more from their remaining two matches to seal the deal, while a win against Saint-Etienne next week would be enough should Pochettino's team fail to beat Reims.
Indeed, it is not just the title PSG may well miss out on, but a place in the Champions League. They are only two points clear of Monaco, and three above fourth-placed Lyon – with only three teams qualifying for UEFA's flagship competition from Ligue 1.
And as it did against Manchester City over the two legs of the Champions League semi-final, PSG's frustration eventually turned into ill-discipline, with Kimpembe's reckless lunge well worthy of a red card and subsequent suspension.
Guirassy and Doku lead the charge
Rennes harbour European hopes of their own, with a place in the UEFA Conference League firmly in their sights.
Two attackers stood out, in Doku and Guirassy. The latter was a constant presence up top, with his goal one of three attempts, while he also created two chances, showing PSG's star-studded frontline how it should be done.
Neymar flounders as PSG lack Mbappe magic
Pochettino declared that Neymar's new three-year deal proves PSG's ambitions for the future, yet on this evidence, securing Mbappe’s future really should have been the priority for the capital club.
Maybe that is because, without Mbappe, the 29-year-old simply does not get enough support. Despite being underwhelming, Neymar still created a team-high three chances, had four shots and hit the target with two of them, but his efforts proved fruitless and you would still expect more from the world's most expensive footballer in a match which mattered so much.
PSG travel to Montpellier on Wednesday, with a place in the Coupe de France final up for grabs – it may well be the only silverware on offer for them this term. Rennes do not play until next Sunday, when they face Monaco.