The Giallorossi had trailed 4-1 after the first leg, but they blew LaLiga's leading side away at the Stadio Olimpico as goals from Edin Dzeko, Daniele De Rossi and Kostas Manolas clinched a dramatic triumph.
Dzeko was sublime throughout and netted early before winning a penalty after the break for De Rossi to pull Roma to within one goal of the last four.
An out-of-sorts Barca still looked as though they would do enough to scrape through as chances came and went for the hosts, but Manolas - who, like De Rossi, had put through his own net at Camp Nou - headed home eight minutes from time to put Eusebio Di Francesco's side in the driving seat.
Although the visitors suddenly mustered a challenge, they could not force a decisive goal and Lionel Messi and co crashed out in scarcely believable circumstances.
Roma last reached the last four of Europe's premier club competition in 1983-84 when they lost to Liverpool in the final, and they will now fancy their chances against anyone - including the Reds and former star Mohamed Salah, who defeated Manchester City in Tuesday's other quarter-final.
Roma tackled their task with gusto but their quest for goals immediately left gaping holes at the back and Messi's pass freed Sergi Roberto for the game's first opening, Alisson smothering a low drive.
But Dzeko took his chance at the other end after six minutes. The former Manchester City man ran beyond Samuel Umtiti to meet De Rossi's pass and toe an untidy finish past Marc-Andre ter Stegen, generating ample noise and belief in the stands.
Champions League debutant Patrik Schick nodded high and wide following a corner, before squandering a huge opportunity with another header from Federico Fazio's cross that flashed past the left-hand post.
And then it was Dzeko's turn to twice go for goal with his head; the first effort forcing Ter Stegen to turn the ball over the top, while the second looped awkwardly behind.
It was Dzeko's sublime centre-forward play that set up the second. He bullied his way past Gerard Pique into the area and then went to ground under a tug and a trip, allowing De Rossi to rattle home a penalty.
1+1 - Daniele de Rossi is the first player with a goal and an assist against Barcelona in a Champions League game since Thomas Müller in April 2013 (2 goals, 1 assist). Evergreen.— OptaJohan (@OptaJohan) April 10, 2018
Radja Nainggolan's volley was held by Ter Stegen as Barcelona failed to stem the flow of chances, with De Rossi heading wide shortly afterwards.
Ter Stegen parried a Stephan El Shaarawy effort away from the goal-line shortly after he arrived from the bench, but the decisive goal would soon arrive as Manolas nodded beyond the rooted goalkeeper from Cengiz Under's corner.
Although Barcelona pushed hard at the end of a dismal display, they could find no way through as they fell victim to one of the greatest comebacks in European history, Roma's three-goal turnaround matching Deportivo La Coruna in 2004 and Barca's own heroics last season against Paris Saint-Germain.
Key Opta stats:
- Roma have kept five consecutive clean sheets in their five matches at the Stadio Olimpico in this season's Champions League, their best ever run without conceding on home soil in the European Cup/Champions League.
- Barcelona conceded as many goals tonight as in their previous 10 Champions League games combined.
- Barcelona are winless in their last five away knockout matches in the Champions League (D1 L4), conceding 13 goals and scoring just once.
- Edin Dzeko has scored three goals in his last three Champions League games against Barcelona, more than he has netted against any other club in the competition.
- Dzeko has scored in three consecutive Champions League appearances for only the second time, and the first since December 2009 whilst with Wolfsburg.
- Daniele De Rossi scored his first Champions League goal since bagging a brace against Bayer Leverkusen in October 2015.