Liverpool have reached the Champions League final against holders Real Madrid after losing 4-2 at Roma on Wednesday and qualifying on a 7-6 aggregate.
Roma paid dearly for a botched Radja Nainggolan pass, falling behind on nine minutes, but the midfielder then clinched the Giallorossi's win with a late brace before a 65,000-strong crowd at the Stadio Olimpico.
Roma levelled for 1-1 through an own goal on 15 and fell again behind 10 minutes as they failed to repeat the impressive comeback of the quarter-finals, when they beat Barcelona 3-0 after losing 4-1 in Spain.
Nainggolan's blunder set up Roberto Firmino for a counter-attack finished off by Sadio Mane before a clearance from Dejan Lovren hit team-mate James Milner in the face for a rebound that stunned goalkeeper Loris Karius.
Alisson Becker then saved a Mane deflection and on the following corner kick a backward header from Roma striker Edin Dzeko allowed Georginio Wijnaldum to nod in from close range.
Roma had a single telling chance before the break when Stephan El Shaarawy saw his deflected drive come off the right post on 35 minutes.
Another effort from the inspired El Shaarawy was saved on 52 but Dzeko pounced on Karius' deflection to level in the far corner.
Home substitute Cengiz Under came close with a difficult close-range deflection off Daniele De Rossi and Firmino on 69 had a tight-angle drive saved before Karius denied an attempt from Dzeko.
Nainggolan made amends for his first-half mistake by slamming a drive into the left corner on 86 and converting a stoppage-time penalty after a handball from Ragnar Klavan.
"I am very angry because my team should have trusted more in themselves," Roma coach Eusebio Di Francesco said. "This was evident from the chances we created.
"Now we will ask ourselves something more next year. We must still secure a Champions League place from the [Italian Serie A] league. I am not satisfied. We must continue on and strive to improve."
Five-time winners Liverpool, who beat Roma in the 1984 final, are to meet Real in the May 26 final in Kiev.
The Spaniards qualified with a 2-2 home draw against Bayern Munich Tuesday after winning 2-1 in Germany. They lifted the last two trophies for a record total of 12.