Billed as a celebration of the retiring Thiago Motta, the midfielder partly had himself to blame for the tainted farewell as he gave away the penalty that Benjamin Bourigeaud converted for the opener soon after half-time.
Adrien Hunou was the man to have been felled for the spot-kick and the forward capped the upset by latching on to a long ball with 19 minutes remaining, bringing an end to PSG's hopes of surpassing their own Ligue 1 record of 96 points.
Unai Emery, who is due to follow Motta out of the exit door at the end of the season, made four changes to the team that beat Les Herbiers in the Coupe de France final in midweek and was served a sluggish performance.
He could have done with the attacking spark of Neymar, who watched from the stands and later joined his team-mates for the trophy presentation ahead of a return to training with the ball on Sunday.
While that alone is cause for celebration among Brazil fans hopeful of his World Cup fitness, there was less reason to be cheery among PSG supporters as the final home match of a season in which they have completed a treble marked something of a low note.
Emery's decision to rest Edinson Cavani saw Christopher Nkunku join Kylian Mbappe and Angel Di Maria in a rejigged front three and the latter almost broke the deadlock in the 10th minute, his thumping strike from just outside the area coming back off the underside of the crossbar.
Rennes, aside from that early scare, appeared more comfortable during the opening exchanges than they had in shipping 13 goals across the teams' previous three competitive meetings this term.
They still might have fallen behind midway through a scoreless first half had the unmarked Nkunku not scuffed a finish that was tipped over by Tomas Koubek, while Mbappe also offered a reprieve by slicing harmlessly high from Di Maria's cut-back.
Instead, it was the visitors who took a shock lead from the the penalty spot in the 52nd minute, Bourigeaud converting low into the bottom right corner after Hunou had been dragged to the ground by Motta.
PSG set about finding an equaliser and their desperation to restore parity was evident in a Di Maria dive on the hour for which the Argentina international was fortunate to escape a booking.
Giovani Lo Celso had slightly more convincing appeals for a penalty waved away soon after, but the hosts would only find themselves further behind with just under 20 minutes remaining.
Hunou outpaced Presnel Kimpembe to reach Jeremy Gelin's ball over the top and clinically volley first-time past Kevin Trapp.
Rennes held on amid occasional late pressure and are now assured of a Europa League berth regardless of their final day result against Montpellier, while PSG will look to snap what is now a three-match Ligue 1 winless run in their trip to Caen.
Key Opta stats:
- Since 2011-12, PSG have lost seven home Ligue 1 games. Three of these seven games have been against Rennes.
- PSG are winless in their last three home games in Ligue 1, a first since December 2016 (also three).
- PSG have failed to score a home goal in Ligue 1 for the first time since 19 February 2017 against Toulouse (0-0).
- Rennes have lost only one of their last 13 Ligue 1 games (W7 D5), on April 14 against Metz.