Liverpool left the door open deep in stoppage time thanks to uncharacteristically poor finishing but controlled the match in increasing its table lead to 16 points with a match-in-hand.
[ MORE: Watch full PL match replays ]
United stays on 34 points, five back of fourth-place Chelsea.
Marcus Rashford missed the match with a back injury, and reports say he could miss 2-3 months with a double stress fracture.
United was lively out of the gates, too much so in the case of an early Nemanja Matic yellow card for a high kick.
Mane came close to making it 2-0 in the 24th, but an extra touch allowed Luke Shaw to clear for a corner.
Firmino had it 2-0 on the board, but Van Dijk fouled David De Gea before the play. De Gea received a yellow card for his remonstrations before VAR intervened.
Liverpool had a second goal wiped off the board when Wijnaldum was just offside on his run to slip a ball past De Gea.
Pereira then pumped a shot to Alisson from distance, good venom but an easy catch. De Gea then made a leg save on Mane at the other end.
[ MORE: Premier League stats ]
Liverpool returned with vigor in the second half, Salah forcing a big save out of De Gea. Then the keeper pushed a Jordan Henderson smash off the goal post.
The hosts dominated, and rare United ventures like Fred's 57th-minute lash wide of the near post were well covered.
Anthony Martial worked a 1-2 with Pereira and viciously lashed over the far corner as United found another chance.
Mane missed wide when Wijnaldum cooked an over-aggressive Maguire with a midfield nutmeg.
There was a stoppage-time charge from United, but nothing came of it besides Salah's long dribble to beat De Gea.