Mbappe fired home from a Lionel Messi assist in the third minute of added time at the Parc des Princes having earlier seen a deflected strike come back off the post and been denied a goal by the tightest of offside calls.
The result allows PSG to stretch their huge lead at the top of the French table to 16 points before second-placed Marseille play at Metz on Sunday.
However, the nature of the performance from Mauricio Pochettino’s side suggests they will struggle when Madrid visit for the first leg of their Champions League last-16 tie next Tuesday.
Apart from Mbappe’s interventions, the evening was most notable for the decision by the ‘ultra’ groups who provide the most vocal support at the Parc des Princes to not take their seats until half an hour into the game.
When they emerged they displayed a series of banners to show their discontent with the management of the club, in particular the sporting director Leonardo.
“The supporters have the democratic right to express themselves but we need to all be together going into an important period of the season,” Pochettino said.
“There are things we are still trying to correct and we need to be self-critical if this club is to be one of the best in the world.”
The future of Mbappe continues to dominate headlines in Paris, even more so heading into the clash with Madrid, with the expectation still that he will move to the Spanish capital at the end of this season when his contract expires rather than sign a new deal with PSG.
While he scored his 21st goal in all competitions this season to decide the game, once again Messi’s impact was limited, at least until he laid on the winner.
The seven-time Ballon d’Or winner continues to look a shadow of his former self in Paris but the hope must be that a Champions League meeting with Real will bring the best out in him.
It also remains to be seen if Neymar will be able to play any part in that game having not featured since late November due to injury.
“We need to be careful when it comes to talking about expectations. He might be there but let’s see how things evolve in the coming days,” Pochettino said of the fitness of the world’s most expensive player.
“If things go well then he could be in the squad and I hope he will be.”
With the Brazilian missing, and both Angel di Maria and Mauro Icardi left on the bench at kick-off, 18-year-old Dutch prospect Xavi Simons started alongside Messi and Mbappe in the Paris attack against Rennes.
Mbappe saw a deflected strike come back off the post five minutes before half-time, with Simons unable to convert the follow-up.
Messi then played in Mbappe just after the hour mark and this time the France superstar found the net only for the goal to be ruled out as VAR images revealed he had gone a fraction ahead of the last defender.
Having already inflicted their only defeat of the season on PSG back in October, Rennes were comfortably heading for the point that would have lifted them back into the top four.
But then Messi found Mbappe in injury time and this time he was not to be denied.