The Egyptian has been enjoying a vintage season despite uncertainty over a new contract and scored once and provided two assists as Liverpool dismantled their outclassed hosts.
He now has 20 goals in all competitions this season and appears to be firing Liverpool towards a 20th league title in Dutchman Arne Slot's first season in charge.
Liverpool have 45 points from 18 games, with surprise package Nottingham Forest their closest pursuers with 37 points having played a game more. Fourth-placed Chelsea could cut the gap to seven tonight (NZ time) when they take on struggling Ipswich Town.
Surprisingly, Liverpool were unable to make their superiority tell in the opening stage. But once Luis Diaz swept a shot past home keeper Alphonse Areola after the ball rebounded kindly into his path after 30 minutes there was no stopping Slot's men.
West Ham might point to a Mohammed Kudus shot that rattled the post when it was 1-0 but they were never really in it.
Salah showed great footwork to tee up Cody Gakpo to make it 2-0 in the 40th minute and was then played in by Curtis Jones to effectively end the contest just before the interval.
Liverpool throttled back after the break but still carved out several chances and Trent Alexander-Arnold's shot deflected off the head of Max Kilman to make it 4-0 in the 54th minute.
Slot made a raft of substitutions in the second half but Salah stayed on to torment West Ham and produced a mazy dribble before releasing Jota to curl in the fifth in the 84th minute.
Some of the few West Ham fans who remained at the end booed at the final whistle but Liverpool, as they have been since the start of the season, were simply too good.
Wood scores again as Forest move to second
High-flying Nottingham Forest secured a smash-and-grab 2-0 win over Everton at Goodison Park, based on a speedy attack and a rock-solid defence in a game between two teams who often prefer to concede possession to opponents.
Forest's Chris Wood got the all-important first goal in the 15th minute, and that allowed the visitors to do what they, like Everton, tend to do best: sit back, soak up the pressure and then attack on the break. It proved a winning formula.
Morgan Gibbs-White added a second goal on the hour mark, but it was Wood's opener that set the tone for the game, and though Sean Dyche's men enjoyed plenty of possession, they could not breach the Forest rearguard.
"They have done that to other teams this season. We didn't deliver it anywhere near in the first half and they did," a rueful Dyche said.
"It is hard to break down a packed defence when they get their noses in front. I don't think they had too many chances ... We didn't ask enough questions overall against a team that is good at seeing a game out."
For Forest boss Nuno Espirito Santo, the game-plan worked perfectly as his side took their chances before shutting up shop.
"We were organised and really committed to help each other. We then exploited well the space Everton gave," the Portuguese coach told the BBC.
"It is confidence, the belief and the knowledge that, in the final third, you need composure. They scored beautiful goals."
After avoiding relegation last season, his side are now a scarcely-believable second in the table, but Forest will not be resting on their laurels as the intense Christmas schedule continues.
"It (being second) doesn't mean anything. We haven't achieved anything yet," he said.
City claim much-needed win
Manchester City took all three points with a 2-0 win over Leicester City, a bright spot in horrid run for the defending champions, who have won six of the last seven league titles.
Savinho gave City the lead in the 21st minute, before Erling Haaland clinched victory in the 74th minute. The win moved City into fifth on 31 points, jumping ahead of Bournemouth and Fulham, who played out a 2-2 draw at Craven Cottage.
In other results Crystal Palace beat Southampton 2-1, while Spurs drew 2-2 with Wolves.