Edin Dzeko's second-half strike saw Roma beat Shakhtar Donetsk 1-0 to progress to the Champions League quarter-finals on away goals after the last-16 tie ended 2-2 on aggregate.
The striker raced through on goal to poke the ball past the advancing Andriy Pyatov seven minutes into the second half.
Shakhtar's hopes were then all but ended when defender Ivan Ordets was shown a straight red card for pulling down Dzeko after 79 minutes, with the hosts holding on for a first appearance in the last eight since 2008, and just a third in the modern era of the competition.
Roma: Becker (7), Kolarov (8), Fazio (7), Manolas (7), Florenzi (7), Perotti (8), Nainggolan (9), Strootman (8), De Rossi (8), Under (6), Dzeko (8)
Subs: Gerson (6), El Shaarawy (6)
Shakhtar: Pyatov (6), Butko (6), Ordets (6), Ismaily (7), Rakitskiy (6), Stepanenko (6), Taison (8), Fred (8), Bernard (8), Marlos (6), Ferreyra (7)
Subs: Dentinho (6), Patrick (6)
Man of the match: Radja Nainggolan
Roma knew a 1-0 win on the night would send them through to the last eight on away goals, and Dzeko almost gave the hosts a dream start with a first-minute goal.
However, the 31-year-old was unable to beat experienced Shakhtar goalkeeper Pyatov with a low drive from the edge of the area.
Thereafter, though, the visitors grew into the contest and almost took a 10th-minute lead when Alessandro Florenzi got his head on to Taison's whipped free-kick from the left-hand touchline, only for the Italian's clearance to sail inches past the far post.
However, with the scoreline still goalless at the break, the home team knew they had to up the pace in the second period, and that is exactly what Eusebio Di Francesco's side did.
The Serie A team made the decisive breakthrough after 52 minutes when Kevin Strootman's clever ball over the top caught the Shakhtar defence napping, allowing Dzeko a clear run on goal.
Roma were unchanged from the first leg, with both Gregoire Defrel and Rick Karsdorp still sidelined with injury.
Meanwhile, Shakhtar defender Sergiy Kryvtsov missed out, with Ivan Ordets replacing him.
As Pyatov raced off his line to narrow the angle, the in-form Bosnia international kept his calm to slide the ball under the 'keeper for his fourth goal in eight matches in this season's competition.
Roma's nerves were eased slightly by the late sending-off of last man Ordets, who denied Dzeko another opening when hauling the player down on the edge of the box.
In fact, the melee involving every outfield player after Shakhtar striker Facundo Ferreyra had pushed a ball boy over the advertisement hoardings was the main excitement of the closing stages as Roma gained revenge for losing to the Ukrainians at the same stage 10 years ago.
- This is the first time Roma have progressed from a knockout tie in which they have lost the first leg; ending a run of five consecutive KO tie defeats
- Roma have kept a clean sheet in each of their last four Champions League home games, winning the last three (W3 D1 L0)
- Shakhtar, however, have lost seven of their last eight Champions League away games (W1 D0 L7)
- Shakhtar failed to register a single shot on target against Roma in this match
- Ordets' red card was the second Shakhtar have received in the competition this season - as many as in their previous four Champions League campaigns combined
- Dzeko has had a hand in 55 per cent of Roma's 11 goals in the Champions League this season (4 goals, 2 assists)
- Dzeko has become just the fifth player to score four goals in a Champions League campaign for Roma and the first since Marco Borriello in 2010/11
Man of the Match - Radja Nainggolan
The all-action midfielder was Roma's key man on the night, driving his team forward at all times, and in particular when they most needed a goal after the interval.
The Belgian almost set Dzeko up for an early goal, only for the offside flag to intervene, before then creating a chance that the forward struck inches past the far post.
If Roma are to go further in the competition, then the 29-year-old will surely need to produce some similar displays.
Roma travel to Crotone in Serie A on Sunday, March 18, while Shakhtar are also next in action on that afternoon, with Paulo Fonseca's side entertaining Mariupol in the Ukrainian Premier League.