Sadio Mane, Mohamed Salah, Roberto Firmino and Virgil van Dijk netted for the Premier League leaders after they had held off the ambitions of Porto in the first half and then scored three times in the final half an hour.

It was not quite a repeat of the 5-0 rout Liverpool enjoyed here 14 months ago but by the final whistle the effect was just the same as Jurgen Klopp's side advanced with the minimum of fuss.

It might have been different had Porto boasted a cutting edge to go with their attacking intent as they bossed the early stages but failed to make it pay.

Jesus Corona made clear their intentions inside the opening minute when he cut inside from the right and bent a shot narrowly over Alisson Becker's goal.

Porto were playing with energy and invention but Liverpool were aiding their cause, too often sloppy in possession and gifting the ball back to their hosts.

Alex Telles' whipped corner found Danilo at the back post but he could only flick it wide before Pepe's powerful shot fizzed past the target.

Yacine Brahimi was the next to try, but his shot from a tight angle was deflected away from danger.

It took until the 28th minute for Liverpool to construct their first attack, but it led to a goal which effectively ended the tie - albeit after a lengthy VAR check to overturn the initial decision of offside.

Mane, the hat-trick hero on this ground last February, applied the finishing touch as he slid in at the far post but Salah deserved the credit, brilliantly holding the ball up as defenders swarmed before poking the ball through to his team-mate.

Brahimi almost replied immediately but his strong shot was straight at Alisson and though Porto continued to enjoy the bulk of possession, their attacks no longer carried the conviction of those opening forays.

Liverpool went close to doubling their lead just before the break when Trent Alexander-Arnold skipped between two defenders and crossed for James Milner, with the ball picking up a deflection which sent it spinning wide of the far post.

Both teams made a change at the break with Liverpool sending on Firmino for Divock Origi, while Porto had one last throw of the dice by sending on Francisco Soares for Otavio and switching to 4-4-2 as he lined up alongside Moussa Marega.

There were quick chances for Marega and Soares before Hector Herrera shot straight at Alisson from range, but Liverpool were also posing more of a threat going forward as Salah headed Mane's ball from deep wide of the target.

But the Egyptian, freshly named in Time magazine's 100 list, was soon on the scoresheet. Trent Alexander-Arnold's ball had him clean through on goal and there was never much doubt he would slip it under Iker Casillas.

That was Alexander-Arnold's last involvement as Joe Gomez came on to make his first appearance since December.

Porto got a consolation when Eder Militao got up above Firmino to head in Telles' cross but Liverpool were not done yet.

Mane fluffed his lines when he rounded Casillas only to strike over the open goal as he tumbled off balance, but it would not matter.

Firmino got a glancing header to Jordan Henderson's cross in the 77th minute and Van Dijk nodded in a fourth six minutes from time.