Kiki Musampa's spectacular late volley gave Stuart Pearce his first win as Manchester City boss.
Musampa who had earlier hit the post, met Lee Croft's cross on the edge of the area and his low first-time effort flew past Scott Carson into the net.
Liverpool's best effort came from a skidding Igor Biscan shot which David James kept out - and the City keeper was otherwise untroubled.
The defeat means Liverpool failed to move above Everton into fourth place.
City boss Stuart Pearce was given a standing ovation before the game, as the fans showed he has their support to get the job on a long-term basis.
This victory will help his cause, and it was an encouraging display all-round from the home side.
Their best early chance came from a Joey Barton free-kick after Steve Finnan was bizarrely penalised for pulling Musampa's dreadlocked hair.
Barton's curling delivery from the left was met by Distin's header but Carson produced an excellent reflex save to keep the ball out.
Liverpool were unable to reproduce the passion they showed while beating Juventus in midweek and had only one effort of note in the first-half.
Paul Bosvelt gave the ball away to Igor Biscan and although James parried his low shot, he had to use his feet to hack the ball clear of the onrushing Anthony Le Tallec.
City were not creating much themselves but should still have been in front at the break.
Robbie Fowler, celebrating his 30th birthday, flicked a delightful ball through to set up Antoine Sibierski but Carson did well to block with his legs.
The game got bogged down in midfield after the break and there was little in the way of goalmouth action.
There was still the occasional opening however, and Musampa deserved better with his effort on 65 minutes.
A flowing move down the right ended when Onuoha's cross was met with a full-blooded left-foot volley that thumped against Carson's post.
But Musampa was to get his reward for an impressive dispay in injury time.
Substitute Croft sent in a low cross and the Dutch winger stretched to steer the ball past Carson for his first goal for City.
Man City manager Stuart Pearce:
"Liverpool are a big scalp. They are on a good run of form.
"I watched them in midweek and they played Juventus off the park.
"But I have not got the job yet. The chairman has taken a big gamble putting
an amateur in charge but hopefully I will prove to him I am up to the task."
Liverpool boss Rafael Benitez:
"I am very disappointed. Sometimes when you cannot win a draw is a good result.
"We were in the last minute, we had a throw-in, then we give the ball away. They counter and we lose a goal.
"If we play to the level we can, we can make fourth but it will be difficult if we do not improve our mental attitude."
Man City: James, Onuoha (Mills 67), Dunne, Distin, Jordan, Reyna, Barton, Bosvelt (Croft 73), Musampa, Fowler, Sibierski (Bradley Wright-Phillips 83).
Subs Not Used: Weaver, Negouai.
Goals: Musampa 90.
Liverpool: Carson, Finnan, Carragher, Pellegrino, Warnock, Luis Garcia (Smicer 68), Gerrard, Biscan, Riise (Traore 82), Le Tallec, Morientes (Welsh 78).
Subs Not Used: Dudek, Hyypia.
Ref: M Riley (W Yorkshire).