Virgil Van Dijk opened the scoring from a corner in the 14th minute and Liverpool had two goals ruled out (one for a possible Van Dijk foul on United keeper David de Gea) before Mohamed Salah sealed the win following a long ball forward by Liverpool keeper Alisson deep into injury time.
Liverpool's supporters celebrated by singing "We are going to win the league" and it's hard to disagree with them after the win helped their team open up a 16 point lead at the top of the table with 16 games left to play.
There was late drama in Manchester City's Ethiad Stadium as 82nd- and 87th-minute goals from Kun Aguero looked to have overturned Cent Tosum's opener for Crystal Palace, but another lapse in concentration from City's defense side allowed Palace's Wlifred Zaha to whip the ball into the City area in injury time, and Fernandinho sliced it into his own net.
Perhaps Palace taking a point from their visit to Manchester wasn't such a shock after their 3-2 win in the Ethiad last season, but the result was a disappointment for City fans hoping that last weekend's 6-1 thrashing of Aston Villa marked the return of their team's best form.
Leicester City dropped to 19 points behind Liverpool as they lost 2-1 away to Burnley.
Harvey Barnes put Leicester ahead in the 33rd minute, but after Chris Wood equalized for the home side, Burnley keeper Nick Pope was the hero with a string of saves, including a 66th minute penalty stop from Jamie Vardy, before Ashley Westwood rounded off Burnley's fightback with the winning goal in the 79th minute.
Chelsea's recent wobble continues as Isaac Haydon headed a 94th minute winner for Steve Bruce's solid Newcastle United side in their meeting at St James' Park.
Chelsea had 69 percent of the goal and failed to score and fans of the London team will wonder whether Kepa Arrizabalaga could have done more to prevent Haydon's winning goal.
Tottenham continue to struggle with little sight of a recovery in sight under Jose Mourinho and they would have lost to a vastly improved Watford. Paulo Gazzaniga pulled off a penalty save to deny Watford's Troy Deeney and kept the score 0-0.
Arsenal dropped further points as they failed to beat Sheffield United at the Emirates Stadium.
The 18-year-old Gabriel Martinelli put Mikel Arteta's men ahead on the stroke of halftime, but Sheffield United's John Fleck once again put Arsenal's lack of resolve under the spotlight with a well-taken 83rd minute goal. It is the third time in six games that Arsenal have surrendered a lead since Arteta took over.
Southampton must have thought their recent run of form was going to continue as goals from Jan Bednarek and Shane Long gave them a 2-0 cushion at home to Wolves.
However, the visitors rallied in the second half and goals from Pedro Neto and two from Mexican striker Raul Jimenez gave Wolves the points after a thrilling second half fightback.
It was 1-1 between West Ham and Everton in a result which helps neither side's ambitions. Aston Villa's Jack Grealish's 75th equalizing goal gave his side a vital point at Brighton, preventing Brighton escaping the pack trying to avoid relegation.
Finally, Norwich City gave themselves a lifeline and lengthened Bournemouth's dismal run of form after Teemu Pukki's first half penalty gave them a 1-0 win. Bournemouth's Steve Cook was sent off for handball after conceding the penalty, but Norwich were also reduced to 10 men after Ben Godfrey was sent off in the second half for an ill-judged tackle on Callum Wilson.