Sadio Mane was also on target and Curtis Jones registered three assists as the six-time European Cup winners strolled to a dominant 5-1 romp against familiar opponents to stay at the summit of Group B, with Porto goalkeeper Diogo Costa enduring a nightmare of an evening.
Liverpool wore black armbands in tribute to the late Roger Hunt, Liverpool’s record league goalscorer and England 1966 World Cup winner whose death at the age of 83 was announced earlier on Tuesday.
James Milner started at right-back in place of Trent Alexander-Arnold, who Jurgen Klopp confirmed was a big doubt for Sunday’s Premier League showdown with Manchester City at Anfield due to a groin injury suffered in the wild 3-3 draw at Brentford that turned out to be more serious than first thought.
Porto made a bright start to proceedings as the speedy Luis Diaz and Mateus Uribe both saw efforts deflected, but they lost midfielder Otavio to an early injury - having also seen the vastly experienced Pepe limp out of the warm-up - and it did not take Liverpool long to assert their familiar dominance at the Estadio do Dragao following 5-0 and 4-1 victories there over recent years.
They were ahead inside 20 minutes, with Salah on hand to turn home the rebound from close range after Jones had driven in from the left flank and hit a curling shot that was pushed straight back into the danger area by goalkeeper Costa.
It was the Egyptian’s sixth goal in as many matches and his sixth in his last seven in the Champions League.
Liverpool dominated the first half from then on, with captain Jordan Henderson denied a penalty on his 400th appearance for the club after his flick from close range struck the hand of Ivan Marcano.
Former Porto loanee Diogo Jota had two bites at one chance and forced Costa into a sprawling save, with Henderson and the confident Jones also trying their luck before a rare Porto break led to Diaz trying to pick out the far corner but failing to trouble Alisson.
Henderson’s fierce drive was tipped over after a well-worked free-kick routine, but Costa certainly did not cover himself in glory on the stroke of half-time when he inexplicably left a peach of a cross from Milner and Mane - whom he erroneously believed was offside - could not miss the easiest of tap-ins.
Porto boss Sergio Conceicao sent on former Liverpool midfielder Marko Grujic at the interval, but it was dominant Liverpool who continued to ask questions as a powerful drive from Andy Robertson was parried with Salah free at the back post and a woeful defensive header from Jesus Manuel Corona almost gifted a third to Jota, but Costa did well to thwart his compatriot.
Jota’s stinging drive was then pushed out by Costa as Liverpool continued to push for further goals, getting their third when Jones won the ball back in midfield and drove forward, cutting inside to tee up Salah for a calm finish.
For all the focus on their defending in the build-up to this fixture after shipping three at Brentford, it was only the third time Liverpool have ever scored three or more goals in six straight matches across all competitions.
Ex-Wolves midfielder Vitinha arrowed a strike straight at Alisson and Jota sliced a great chance into the side netting before Klopp looked to his bench with that visit of City in mind.
Mehdi Taremi’s firm header beyond Alisson looked to have given Porto a glimmer of a chance at an unlikely comeback, but Liverpool substitute Firmino extinguished those hopes by scoring from distance after Costa had bizarrely raced out of his box to leave the goal gaping, with the ball having already crossed the line as he raced back to try and claw it out.
Firmino’s second was awarded after a lengthy VAR check for a possible offside after he rifled in when Jones’ deflected shot fell into his path.