The Parisians were back at Camp Nou for the first time since their humiliating Champions League collapse in 2017 when they were thumped 6-1 after winning the first leg 4-0, and they got a semblance of revenge with an emphatic victory.
Lionel Messi reached 20 goals for a 13th successive season when putting Barca ahead just before the half-hour mark with a penalty, but PSG were far more of a threat in attack and fully deserved the equalizer that Mbappe netted with aplomb.
Mbappe doubled his personal tally in the second half and the similarly lively Moise Kean got PSG's third soon after, before the France star completed his treble with a sumptuous finish on the break that will likely put the tie beyond Barca, though they have pulled off more unlikely comebacks before.
The early exchanges passed with little drama as the two sides respectably sparred, but the contest burst into life when Barca then opened the scoring in the 27th minute, Messi finding the top-right corner with a penalty awarded after Layvin Kurzawa accidentally tripped Frenkie de Jong.
Antoine Griezmann could not restore Barca's lead when he shot wide after a long solo run, though it was PSG who finished the half on top.
Moise Kean and Kurzawa both forced fine saves from Marc-Andre ter Stegen, while Mauro Icardi headed agonizingly wide on the stroke of half-time.
PSG carved Barca open again early in the second half, Icardi teeing up Kean with a clever flick only to see Ter Stegen make a fingertip save to deny him.
The visitors finally went in front, and deservedly so, with 25 minutes to go – Mbappe slamming in from about 10 yards after Alessandro Florenzi's cutback was deflected into his path by Gerard Pique.
It quickly got worse for Barca, as Kean nodded in Leandro Paredes' inviting free-kick delivery to give Ronald Koeman's men a mountain to climb.
Mbappe rounded off an incredible night for PSG five minutes from time, curling a gorgeous first-time effort into the top-right corner after Julian Draxler led a devastating counter.