The victory allowed PSG to extend their lead at the top of Ligue 1 to 13 points from Marseille, who won 2-0 at Strasbourg earlier on Sunday and have a game in hand.
Mauricio Pochettino's side ultimately eased to victory in a subdued atmosphere at the Parc des Princes, with one end of the stadium closed as a punishment after the club's ultras let off flares en masse during a recent game.
"It was a professional performance and we deserved to win. Kylian was extraordinary once again," Pochettino, who has been criticised for his team's performances this season, told broadcaster Amazon Prime.
"We are very pleased with our results, but we can improve our performances," he admitted later.
Monaco had lost just twice in their previous 12 visits to Paris in Ligue 1 and were the better side in the first half, but Mbappe's second goal right on the stroke of half-time was a hammer-blow from which they did not recover.
Niko Kovac's team are eighth, five points adrift of the top three, with just one more round of games to come before France's short winter break.
Sofiane Diop hit the post for the principality outfit inside two minutes but they soon found themselves behind.
Angel Di Maria went down in the box and the referee spotted a foul by Djibril Sidibe after a review of the images. Mbappe stepped up to convert the penalty.
Guillermo Maripan then squandered a great chance to draw Monaco level before PSG scored their second goal.
Youssouf Fofana gave possession away to Messi in midfield and he surged forward before teeing up Mbappe, who took a touch and curled a shot into the far corner for his ninth Ligue 1 goal this season.
Messi came agonisingly close after the break with a shot across the goalkeeper that grazed the far post.
The seven-time Ballon d'Or winner has five goals in five Champions League appearances for PSG but just one in 10 games in Ligue 1. This game confirmed that Mbappe is the main man for PSG, rather than the Argentinian.
Marseille moved back up to second as their win at Strasbourg took them above Rennes, who lost at home to Nice.
Young Senegalese striker Bamba Dieng put Marseille ahead in Alsace with an acrobatic volleyed finish just after the hour. Duje Caleta-Car headed in a Dimitri Payet corner late on to seal the points.
Kasper Dolberg scored one goal and set up another as Nice won 2-1 at Rennes in a clash between two clubs with Champions League ambitions.
Nice started the campaign strongly before stumbling in recent weeks but they went ahead in Brittany when Dolberg converted a 19th-minute penalty awarded for a foul on Dante.
Denmark striker Dolberg then teed up Youcef Atal to score the second in the 51st minute.
Benjamin Bourigeaud pulled one back for Rennes but Nice held on to close to within a point of Rennes in the table.
Reigning champions Lille, fresh from qualifying for the last 16 of the Champions League, were held to a 0-0 draw at home by Lyon, a result which leaves both clubs in mid-table.
Lyon last week had a point deducted as a punishment for the trouble that led to November's game against Marseille being abandoned after Payet was hit on the head by a bottle.