Jesse Lingard capitalised on Alisson's blunder to cancel out Sadio Mane's opener, but Jurgen Klopp brought on the Swiss international with time running out and the game was turned.
Liverpool were the better team for much of the game, starting with summer signings Fabinho and Naby Keita in the midfield behind the usual front three. Nathaniel Clyne made his first start of the season at right back following injury to Trent Alexander Arnold.
Mourinho opted to go with five at the back, pushing Matteo Darmian into a more central role and pairing Marcus Rashford and Romelu Lukaku together in a front two, Unfortunately, they were not enough to cope with Klopp's side.
The home team created a number of chances early on, launching wave after wave of attack before finally breaking through. Fabinho's chipped ball over the defence found Mane who chested down and smashed a finish past De Gea.
From this point it looked as if Liverpool would run away with things, only for Alisson to bring the 'Red Devils' back into the game. The Brazilian goalkeeper palmed a simple cross straight into the path of Lingard, who made no mistake from close range.
The teams went into the break level, and it stayed that way for much of the second half. Man United were evidently happy to settle for a draw, and the were presented with dew difficulties until Shaqiri was brought on.
The diminutive winger scored twice, via a deflection both times, and the roof came off at Anfield. Liverpool are back top of the table, and the pressure on Mourinho and his men increases.
What it all means... #PL pic.twitter.com/0g9TSIZPk5
— Premier League (@premierleague) 16 December 2018