A 13th straight league win since the sides last met at Old Trafford in October continues Liverpool’s relentless run towards a first league title in 30 years, while United remain five points off the top four in fifth.
Liverpool also have a game in hand to come on closest challengers Manchester City and could have been more comfortable winners after seeing two first half goals ruled out and a host of clear chances go astray.
United are the only team to take Premier League points off the European champions this season, but it rarely looked like lightning would strike twice once the hosts went in front on 14 minutes.
Ole Gunnar Solskjaer’s game plan was undone by a simple set-piece as Van Dijk rose highest to power home Trent Alexander-Arnold’s corner.
The Norwegian had set up with a back five, with Luke Shaw forced to deputise out of position as a third centre-back, and only a great challenge from the former Southampton left-back denied Sadio Mane a certain second as he burst onto Roberto Firmino’s pass.
Jurgen Klopp’s men did have the ball in the net twice more before the break, but VAR and the offside flag came to United’s rescue to keep the score down.
Firstly, Firmino’s brilliant strike was ruled out as Van Dijk was penalised for an aerial challenge with David de Gea after a VAR review.
Georginio Wijnaldum then slotted past the Spaniard after a brilliant through ball from Alex Oxlade-Chamberlain, but the Dutchman had strayed marginally offside.
Shorn of injured top scorer Marcus Rashford, United failed to even muster a shot in anger for the first 40 minutes until Anthony Martial pulled his effort wide of the near post.
However, they could easily have been level against the run of play moments later when Andreas Pereira could not stretch to turn home Aaron Wan-Bissaka’s ball across the face of the goal.
At the other end, De Gea had one more key intervention before the break as he saved with his feet from Mane’s driven effort.
United rode their luck even more at the start of the second half as Salah somehow skewed wide from point-blank range before Jordan Henderson smashed a shot off the post.
But Liverpool’s failure to put the game to bed could have cost them when Martial blazed over United’s best chance of the game after a well-worked one-two with Pereira just before the hour mark.
Just like in the 1-0 win at Tottenham last weekend Liverpool tired in the final 20 minutes, with Klopp forced to withdraw Mane and Firmino to bolster the midfield.
However, the hosts held out for a seventh consecutive clean sheet in all competitions and took another giant step towards the title as Salah secured the three points with virtually the last kick of the game.
The Egyptian was picked out by goalkeeper Alisson Becker and ran from inside his own half before slotting under De Gea.