Liverpool took the lead inside the opening 20 minutes through Mohamed Salah, but the two sides went into the break level after Mason Greenwood's equaliser midway through the first half.
Marcus Rashford netted at the start of the second half but Salah found a second to even the scores just before the hour mark.
Despite the Reds being in the ascendency, substitute Bruno Fernandes scored from a free-kick to knock Liverpool out of the FA Cup, further compounding Liverpool's recent struggles.
Jurgen Klopp made five changes from the side that lost against Burnley on Thursday. Rhys Williams partnered Fabinho in defence, whilst Mohamed Salah and Roberto Firmino returned to the starting eleven.
It was a cagey opening affair as both sides looked to size each other up, although United had the greater share of possession early on.
Alisson thwarted a long ball that nearly played in Edinson Cavani before saving well with his legs from Mason Greenwood's close-range strike.
Trent Alexander-Arnold almost found a Reds body inside the box after a dangerous cross in from the right, but goalkeeper Dean Henderson intercepted the ball to evade the onrushing attacking players.
But Liverpool finally ended their long goal drought as Firmino played in Salah with an excellent incisive through-ball, with the Egyptian coolly looping the ball over Henderson and into the back of the net.
Liverpool were well on top as they threatened a second goal, but Ole Gunnar Solskjaer's side found an equaliser against the run of play through Greenwood.
Rashford, alongside Luke Shaw, began to cause the Reds problems down their right, with the latter providing two corners which saw Paul Pogba and Scott McTominay go close with headers.
The Reds had a horror opening to the second half as Williams missed his clearance, allowing Rashford to run through on goal before finding the back of the net to make it 2-1.
Liverpool went into their shell immediately after Rashford's strike but soon found their verve as they began to pile on the pressure on the hosts' defence.
Milner should have made it 2-2 from close-range, but the Reds midfielder skied his effort. However, the Reds found the equaliser less than a minute later through Salah's second of the game.
A clever move between Milner and Firmino saw the latter play in Salah, who stroked the ball through Henderson's legs to level the scores.
With the pendulum looking to swing in Liverpool's favour, Klopp added caution to the wind as he introduced Sadio Mane alongside Firmino and Salah upfront. Curtis Jones moved back into midfield, with Gini Wijnaldum coming off.
Salah should've grabbed a hattrick goal after Firmino found him through on goal again, but Henderson got down low to deny the Egyptian, who truthfully should've squared it to Mane in the middle for a certain goal.
Despite Liverpool looking sharper of the two sides, they found themselves with less than 15 minutes left as substitute Bruno Fernandes converted from a free-kick with pinpoint accuracy to make it 3-2.
Things could have got worse with a couple of minutes left on the clock as Edinson Cavani nearly added a fourth for the home side, but his header crashed against the post with Alisson only able to watch on.
It wasn't to be for the Reds as United held off any threat and progressed to the fifth round of the FA Cup. It was a better Liverpool performance than in recent weeks, but the Reds sorely need a positive result to restore confidence within their squad.
LFC Globe's MOTM: Mohamed Salah
Next Fixture: Tottenham (A) - 28 Jan, 8pm