Barcelona was 90 minutes away from a return to the Champions League semifinals, but if failed to finish off Roma and is shockingly on the outside looking in for Europe's final four.
Edin Dzeko, Daniele De Rossi and Kostas Manolas scored, while Roma neutralized Lionel Messi and advanced to the Champions League semifinals on the away goal tiebreaker after a 3-0 win on the day and a 4-4 aggregate draw.
Barcelona carried a 4-1 edge into the second leg of their quarterfinal, thanks to two Roma own goals and strikes from Gerard Pique and Luis Suarez. But Roma was given a brief lifeline from Dzeko, whose away goal proved valuable in factoring into the result.
Dzeko was the one to kick-start Roma's comeback attempts. After Barcelona carved out a pair of early chances, Dzeko brought Roma within 4-2 on aggregate with a classy finish in the sixth minute, restoring hope in the Italian capital.
Roma had a great chance to chip away even more in the 11th minute on a corner kick, with Patrik Schick rising up for a header, only to glance it wide of the target.
Schick missed again in the 29th minute off an even cleaner look. He carved out space between a flat-footed Pique and Samuel Umtiti, but he put his header wide of the mark one more time.
Roma had another header opportunity in the 37th minute, with Dzeko directing one on frame, only for Marc-Andre ter Stegen to tip it over the bar.
Barcelona had little opportunity in the run of play, but it was granted a free kick in a dangerous spot in the 41st minute, only for Lionel Messi to fire it well over the bar.
Roma pulled within one in the 58th minute after Pique was guilty of taking Dzeko down in the box. Daniele De Rossi did the honors from the penalty spot, firing a blast by ter Stegen, making it 4-3 Barcelona on aggregate. With the away goal from the first leg, Roma just needs one more to shockingly send Barcelona tumbling out of the competition.
Barcelona went in search of the one goal that would restore calm within the club, and it nearly came from Messi in the 73rd minute, when he carved out space for a left-footed chance at the edge of the box, only for Alisson to catch it cleanly.
Roma thought it had the goal it needed in the 79th minute, when substitute Stephan El Shaarawy extended his foot to poke home a ball at the far post. It looked to be goal-bound, but ter Stegen slid over to the post and made the strong block, keeping Barcelona in front.
The goal came moments later, though. Manolas, whose own goal helped contribute to the deficit, scored off a glancing header on a corner kick, making it 3-0 on the day and putting Roma ahead via the away goal tiebreaker.
It almost ended in shambles for Roma in stoppage time, with Alisson racing off his line to try to beat Pique to a long ball over the top, only for it to fall to Ousmane Dembele by the right sideline, some 40 yards out with nobody in goal. Fortunately for the goalkeeper, Dembele put his chance over the bar.
Here were the lineups for both teams:
The Champions League semifinal draw takes place on Friday, when the final four will be paired together. There are no restrictions on which teams can face one another.