Edinson Cavani looked to have wrecked Barcelona's dreams by volleying in an away goal to make the score 3-1 but two late strikes from Neymar set up a thrilling finale before Roberto scored to seal a 6-5 aggregate win for the Spanish side.
Barcelona began to believe in the impossible dream of clawing back their shock 4-0 loss from the first leg when Luis Suarez headed over the line in the third minute and a Layvin Kurzawa own goal gave them further hope before the break.
Lionel Messi's penalty five minutes into the second period had the Nou Camp on its feet but Cavani's strike in the 62nd was a sucker punch to Barca's ambitions from which Luis Enrique's side took a while to recover.
A curled free kick from Neymar in the 88th minute gave them hope and the Brazilian converted a penalty before substitute Roberto slid in to knock the ball beyond Kevin Trapp from a chipped free kick and send Barca through to the last eight.
An electric atmosphere gripped the Nou Camp before kick-off after Suarez and Luis Enrique had said they truly believed a comeback was on and the players caught the wave of optimism by swarming all over PSG from the first whistle.
Trapp struggled to cope with the early pressure and flapped at a high ball, allowing Suarez to jump ahead of him and force the ball over the line.
PSG had a penalty appeal turned down when Julian Draxler's low cross struck Javier Mascherano's arm but it was one of few forays forward from PSG in the first half as Barca did all the attacking.
The Catalans owed their second to another piece of slack defending, however, as Iniesta nudged his way past Marquinhos in the area to knock the ball back into the danger zone and it bounced off the swinging leg of Kurzawa and into the far corner.
PSG riled Barca supporters by coming back on to the pitch after the break a few minutes late but the Nou Camp was soon celebrating a third as Messi powered a penalty past Trapp after Neymar had been tripped by Thomas Meunier.
[caption id="attachment_51356" align="aligncenter" width="640"]
Edinson Cavani's scorching volley gave the Parisians brief hope REUTERS
Cavani hit the post but made amends by smashing a loose ball home, although he should have added another but was denied by the feet of Marc-Andre ter Stegen.
At the time it did not look to be a crucial miss but Barca had other ideas, scoring three times in six minutes to complete an incredible comeback.
[caption id="attachment_51357" align="aligncenter" width="640"]
Neymar stole the show in the dying stages of the tie, including this penalty REUTERS
Meanwhile in Dortmund, Pierre-Emerick Aubameyang grabbed a hat-trick as Borussia crushed Benfica 4-0 to advance 4-1 on aggregate.
The Gabon international, who endured a dreadful evening in the 1-0 first leg loss in which he missed a hatful of chances and had a penalty saved, was back at his lethal best.
He struck either side of a Christian Pulisic goal and added another late in the game as the German side, European champions in 1997, made the last eight of the competition for the third time in 10 years.
It was the third straight match in which Aubameyang scored at least twice as Benfica, aiming to reach the last eight for third time in six seasons, conceded their first goals from open play in more than 700 minutes and ended their seven-game winning run.
The hosts, missing injured Mario Goetze and Marco Reus, took only four minutes to bring the tie level with the Bundesliga's leading scorer heading in at the far post after Ousmane Dembele floated in a corner.
Benfica needed time to recover and free themselves from the hosts' constant pressing game.
They made their first serious foray into the German half after half an hour with Luisao seeing his header saved by keeper Roman Buerki.
[caption id="attachment_51358" align="aligncenter" width="640"]
Borussia Dortmund's Pierre Emerick Aubameyang nets one of his three goals against Benfica at Signal Iduna Park REUTERS
The 27-year-old Aubameyang was twice denied by keeper Ederson early in the second half but the Brazilian could do nothing when American teenager Pulisic, replacing injured Marco Reus, dinked the ball over the keeper on the hour for his maiden Champions League goal.
Aubameyang grabbed his second of the evening and a club record 24th goal in the competition this season only three minutes later and completed a hat-trick from close range in the 85th to kill off the tie.
(Suarez 3, Kurzawa 40-og, Messi 50-P, Neymar 88, 90+1-P, Roberto 90+5) PSG 1
Barcelona advance 6-5 on aggregate
(Aubameyang 4, 61, 85, Pulisic 59) Benfica 0
Dortmund advance 4-1 on aggregate