Second-place Manchester City drew 2-2 with Crystal Palace on Saturday and Liverpool, who still possess a game in hand, took full advantage to tighten their grip at the top and boost their chances of a first league title since 1990.
United are the only team to take points off Jurgen Klopp's men this season and deployed a three-man defence – including Luke Shaw at centre-back – as they did when the teams drew 1-1 at Old Trafford in October.
But Liverpool took just 14 minutes to take the lead through Van Dijk and, despite an improvement from the visitors in the second half, Salah raced away on the break to clinch the three points in second-half stoppage time.
After Fred and Brandon Williams let Van Dijk get loose in the area Harry Maguire was United's last hope, but the Netherlands international leapt above the man who took his tag as the world's most expensive defender to nod in the opener.
Liverpool had what they thought was a second ruled out by VAR in the 25th minute.
David de Gea spilled a high ball under pressure from Van Dijk but referee Craig Pawson did not blow his whistle after putting it to his mouth. Play continued and Roberto Firmino curled home a fine finish, only for the challenge on the United goalkeeper – who received a yellow card for his protests – to be deemed a foul upon review.
Andreas Pereira failed to convert a rare United chance against the run of play from inside the six-yard box, before De Gea managed to keep out Sadio Mane on the stroke of half-time.
Liverpool came flying out of the blocks in the second half, with Salah scuffing a glorious opportunity wide and De Gea brilliantly tipping a venomous drive from Jordan Henderson onto the post.
Anthony Martial showed a lack of composure when he hacked high and wide after a brilliant one-two with Pereira before the hour mark, while Mane passed up an opening after a swift break from the hosts.
Ole Gunnar Solskjaer switched to a back four for the final 15 minutes but, as United pushed for an equaliser, Salah punished the visitors by surging clear from a corner and holding off Daniel James to seal the win with a cool finish.
What does it mean? United need attacking reinforcements
Solskjaer said pre-game Marcus Rashford was facing "weeks" out with a back injury, though reports subsequently emerged claiming he could be facing up to three months out.
With James and Martial doing little up top, United would be wise to look to the transfer market to bolster their options. Failing to secure the signature of Erling Haaland, who scored a hat-trick after coming off the bench on his Borussia Dortmund debut on Saturday, now looks like even more of a blow.
Van Dijk a colossus
Not only did he score the first goal, Van Dijk was immovable at the heart of Liverpool's defence and comfortably dealt with United's limp attack. His exemplary distribution from the back helped keep Solskjaer's men on the back foot for much of the game.
The Pereira conundrum
Having made a marginal impact as a winger at Valencia, Pereira fared little better when deployed in a deep-lying midfield role last season. He played as a number 10 at Anfield and missed United's best chance while creating just one chance for Martial.
Key Opta Facts:
- Liverpool have won consecutive home Premier League games against Manchester United for the first time since winning three in a row between September 2008 and March 2011.
- The Reds have taken 91 points from the last 93 available to them in the Premier League (P31 W30 D1).
- Mohamed Salah has scored against 23 of the 25 Premier League teams he has faced as a Liverpool player, scoring against Manchester United for the first time in his fifth appearance against them for the Reds.
- Liverpool became the first team since Arsenal in 2001-02 to score in their first 22 Premier League matches of the season – the Gunners went on to score in every game and win the title that season.
- Klopp's men have kept seven consecutive Premier League clean sheets for the first time since December 2006 (seven in a row).
- Liverpool goalkeeper Alisson became the first Reds goalkeeper to assist a Premier League goal since March 2010, when Pepe Reina assisted against Sunderland.
Liverpool travel to Molineux to face Wolves on Thursday, with United at home to Burnley a day prior.