Suspensions to key personnel suggested a more compressed affair, but the Reds were ahead five minutes in after Naby Keita’s shot deflected past a bemused Iker Casillas.
In quick succession, Liverpool closed in on a second but Casillas steadied back to cut out Mohamed Salah’s first-time shot.
The Dragons were given another scare on 21 minutes, as Salah’s close-range effort whizzled wide of an empty net after lobbing an on-rushing Casillas.
The lead was eventually doubled in the 26th minutes after Roberto Firmino tapped home Trent Alexander-Arnold’s impressive low cross from the right flank.
Three minutes later, Porto’s first clear opportunity arrived, with Moussa Marega’s close-range shot denied by an outstretched leg by Reds shot-stopper Alisson Becker.
Then, with acres of space in the penalty area, Marega fluffed another clear chance two minutes later as his half-volley flew straight to Alisson.
Heading out for the second half, Liverpool steadied the ship and closed in on a third through a curling effort from Sadio Mane earlier on, but the Senegal international was unable to find the target,
Jurgen Klopp felt the need to shake up his stall, with DIvock Origi replacing the self-same Mane 73 minutes in the game.
The Belgian’s inclusion followed the arrival of veteran forward Daniel Sturridge on 82 minutes, who filled the role of Firmino.
At the end, the Premier League giants had done about enough to get victory ahead of a tricky away leg in Portugal next Wednesday.