Harry Kewell's first-half goal was enough to sink Manchester City and put Liverpool level on points with second-placed Manchester United.
Kewell's goal was only his second of the season
Kewell found acres of space on the left to run on to Steven Gerrard's pass and thunder a low shot past David James.
City were dismal early on and things got worse for them when Joey Barton was sent off for a second bookable offence.
But that kickstarted the visitors' best spell of the match and Georgios Samaras missed a golden chance to level.
Stuart Pearce's side have won only once away from home in any competition since August and showed why with a miserable first-half display.
They were fortunate to be up against a Reds side that has struggled to score goals in recent weeks and who were unable to create a clear-cut chance in the early stages.
Peter Crouch nodded over when well-placed and Kewell had a shot deflected wide but the home side's best chance fell to Sami Hyypia who missed the target with his header.
City were competing well enough in midfield but they rarely attacked with any purpose and continually gave the ball away.
With Liverpool enjoying so much possession it was just a question of whether they could fashion an opening, and they found the space to do just that on 40 minutes.
City right-back Danny Mills was dragged out of position, leaving Kewell free to latch on to Gerrard's cross-field pass and steady himself before firing home.
Mills did partly redeem himself before half-time when he cleared Crouch's bouncing header off the line but the damage had already been done.
And things did not improve for City after the break.
Barton had already been booked for a late challenge on Jan Kromkamp and a nasty tackle on Hyypia earned him a second yellow card - and his marching orders - on 52 minutes.
But being reduced to 10 men seemed to reinvigorate City and they enjoyed their best spell of the game immediately afterwards.
Substitute Bradley Wright-Phillips tested Jose Reina with a shot on the turn and the Liverpool keeper had to be at his best to push aside Trevor Sinclair's swerving drive soon after.
But Samaras did not even force Reina to make a save from City's best opportunity.
Kiki Musampa set the Greek striker free and he lifted the ball over the keeper but wide of the target.
Liverpool were still threatening themselves, with Crouch going close with a clever flick before firing in a dipping shot that James had to tip on to the bar.
Gerrard needed prolonged treatment on a foot injury after a fine tackle by Richard Dunne but the Reds skipper was soon able to rejoin the fray.
Crouch was a handful throughout but James continued to thwart the big target-man's search for a first league goal of 2006, rushing from his goal to block his shot on 73 minutes.
By that time City had run out of steam and the Reds held on comfortably in the closing stages to record their third straight 1-0 Premiership victory.
Liverpool manager Rafael Benitez:
"I am happy with the final score. It was really important for us to win.
"But we made it more difficult because we could not score the second goal and that put us under pressure.
"They played with 10 men for a long time and we were looking for the second goal but we could not find it."
Manchester City boss Stuart Pearce:
"In the first half we did not give a good account of ourselves.
"It took us too long in the game, and for us to go a goal down and have a player sent off, for us to say 'we have got nothing to lose, let's have a go'.
"We showed a touch too much respect to a very good side. One or two players were too much in awe of the opposition and did not do enough for us."
Liverpool: Reina, Finnan, Agger, Hyypia, Riise, Kromkamp, Gerrard, Alonso (Hamann 31), Kewell (Traore 85), Crouch (Luis Garcia 75), Morientes.
Subs Not Used: Dudek, Cisse.
Goals: Kewell 40.
Man City: James, Danny Mills, Dunne, Distin, Jordan, Sinclair (Ireland 67), Barton, Musampa, Riera (Croft 78), Samaras, Sibierski (Wright-Phillips 45).
Subs Not Used: Weaver, Sommeil.
Sent Off: Barton (52).
Booked: Barton, Samaras.
Ref: D Gallagher (Oxfordshire).