Liverpool scored five but conceded two late goals as Roma gave themselves a glimmer of hope in a 5-2 defeat at Anfield after the home side had swept into a huge lead.
Jurgen Klopp’s side were 5-0 ahead after overcoming an uncertain start but the visitors kept going and were rewarded when Edin Dzeko thumped home in the 81st minute and Diego Perotti struck from the spot with five minutes left.
The visitors, playing a high defensive line, were torn apart by Jurgen Klopp’s side for much of the match, Mohamed Salah and Roberto Firmino scoring two each and Sadio Mane contributing another.
Roma had the first shot within the first couple of minutes, Dzeko holding the ball up and finding Kevin Strootman, whose strike was held by Loris Karius.
Liverpool responded moments later, Salah cutting in to curl a shot that keeper Alisson, a reported Liverpool target, grabbed.
With five minutes gone Salah played a pass through to Firmino who — from an angle and appearing offside — slid the ball low across goal with nobody able to get a touch.
Firmino was again involved when he fed Alex Oxlade-Chamberlain, who tried his luck from distance but without troubling Alisson.
At the other end, Roma worked the ball to the left but Karius claimed Aleksandar Kolarov’s cross, aimed towards Dzeko.
Oxlade-Chamberlain went down in pain after a tackle on Kolarov and was unable to continue, Giorginio Wijnaldum coming on and the ex-Arsenal player stretchered to the dressing room after treatment.
Roma won the first corner after 17 minutes and were within a whisker of taking the lead from it as a swerving Kolarov drive was touched onto the bar by an uneasy-looking Karius.
The visitors were comfortable in the opening stages as Liverpool struggled to find the rhythm that had swept Manchester City aside in the previous round.
Trent Alexander-Arnold tried to get things moving, taking possession after good work from Salah, but his cross was easily cleared.
With 26 minutes gone, Liverpool won a promising free kick when Mane was fouled by Juan Jesus, who picked up a yellow card, but Milner’s floated delivery was headed away.
Three minutes later, they should have been in front, Firmino putting Mane through only for the Senegal international to blaze over from inside the area.
Firmino was quickly in the thick of the action again, getting onto a Salah through ball and playing in a low cross for Mane, who scooped high and wide.
Alisson saved from Salah as Liverpool continued to turn up the heat and Mane put the ball into the net minutes later only to be thwarted by an offside flag.
But the Merseysiders broke through in style after 36 minutes — and, almost inevitably, Salah was the scorer, taking possession on the right-hand side of the box and working the ball onto his left foot before curling a sumptuous shot into the top corner.
Two minutes later it was almost two when Dejan Lovren, unmarked, hit the top of the bar with a powerful header from a corner, and with Roma rocking Wijnaldum forced Alisson into action with a low strike.
Lovren found himself free at another corner two minutes before the break only for Alisson to claim the ball when he tried to direct it back across.
But right on half-time Liverpool doubled their advantage, Salah dinking a delicate finish home after Firmino slipped the ball through to him to crown a break from inside their own half.
Roma made a change at half-time, taking off winger Cengiz Under and bringing on forward Patrik Schick, but it was the home side who began the second period with more purpose.
And with 56 minutes gone, they took a giant step towards the final with a third goal, Salah getting behind an increasingly ragged defence to square for Mane, who made no mistake with his third good chance.
Schick fired over as Roma desperately sought a foothold, and at the other end defender Andrew Robertson was only denied his first Liverpool goal by a desperate block.
Just after the hour it was four, Salah in acres of space down the right to cross for Firmino to tap in at the far post.
Roma coach Eusebio Di Francesco made a double change, Maxime Gonalons arriving for Daniele De Rossi and Perotti replacing Jesus.
But things merely went from bad to worse soon afterwards, Firmino converting a 69th-minute corner to make it 5-0.
The ball whizzed narrowly wide of Liverpool’s far post as Schick charged down a clearance, and the same player then got a good header in from a Perotti cross but Karius made a smart low save.
Klopp made a change as the game entered its final quarter of an hour, Salah making way for striker Danny Ings, but Roma gave themselves the faintest glimmer of hope with nine minutes to go when Radja Nainggolan lofted a pass, Lovren failed to intercept and Dzeko controlled and blasted home.
Even then Liverpool could have made it six, Wijnaldum somehow failing to get a touch to a low cross as it sliced through the Kop end penalty area.
But they conceded another away goal with five minutes remaining, Milner penalised for a handball and Perotti keeping his cool to convert the penalty.
Dzeko almost scored an improbable third as an extraordinary game neared its end when his long-range strike whistled over.