Laurent Blanc's men knew the championship was theirs before kick-off but despite taking an early lead through Lavezzi, they were undone by goals from Kadir and Ntep
Monaco's failure to beat Guingamp earlier in the day meant that PSG had already secured a second successive league crown by the time they took to the field.
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.
Ibrahimovic was named on the PSG bench after a month out with a knee injury, and he had just three minutes to watch before the strikers leading the line in his absence combined to break the deadlock.
Edinson Cavani's interception sent Lavezzi through on goal, and the little Argentine slid the ball across Benoit Costil and into the goalkeeper's bottom corner.
PSG continued to attack relentlessly, with Alex heading wide following a corner and Lavezzi slicing the ball wide from inside the box.
Out of nothing, however, Rennes turned a deficit into a lead. First, Kadir controlled the ball neatly and his fierce shot went through the hands of Salvatore Sirigu and into the back of the net. It was the on-loan Algeria international's sixth league goal of the season.
Then 21-year-old Ntep, who has been linked with a move to PSG, swung in a free kick which deceived everybody and dropped into the bottom corner.
PSG almost hit back immediately. Thiago Silva's shot was blocked but the ball fell to his centre-back partner Alex, eight yards out.
The 31-year-old thumped it goalwards but Costil employed lighting reflexes to make a marvellous one-handed save.
PSG began the second half by laying siege to their opponents' goal. Cavani's dink from close range beat Costil but drifted just wide of his post, before Blaise Matuidi stung the goalkeepers hands from distance.
Any bystanders outside the Parc des Princes would have thought PSG had scored after 55 minutes. The deafening roar that went up was, however, for the introduction of Ibrahimovic, who swiftly thrilled his adoring public with some trademark flicks.
Thereafter, Cavani was denied by a courageous Sylvain Armand block and Ibrahimovic headed wide, while Javier Pastore's shot from point-blank range was deflected past the post.
But Rennes held on to confirm another unforgettable night at the Parc des Princes, although there was no dampening the spirits of the jubilant PSG fans as they celebrated the title.