Birmingham made it five wins in succession as Derek McInnes began his reign at Bristol City with a defeat.
Curtis Davies headed an early chance over for the visitors while former England keeper David James made a double save to deny Blues' Chris Wood.
Chris Burke headed Blues ahead when he met Jean Beausejour's right-wing cross.
Albert Adomah almost levelled but Burke collected Keith Fahey's pass to add an injury-time second that left McInnes's side adrift at the foot of the table.
After 13 games, Bristol City only have six points but Birmingham can reflect on nine points from their last three Championship matches and the knowledge that if they win their games in hand they would only be a point behind leaders Southampton.
Despite having failed to win since 17 August, Bristol City had a couple of early chances with Marvin Elliott forcing Boaz Myhill to tip his volley on to the bar while Jon Stead sent a low cross past the post.
But Chris Hughton's Birmingham began to dominate and the opener came after 39 minutes when Marlon King and Beausejour linked up to give winger Burke an easy tap-in.
Jamal Campbell-Ryce almost levelled the game after a slip from Myhill but fired his shot into the side-netting.
Chris Hughton Birmingham boss
“We limited them to minimal chances but with the two wide players they have got they're always going to get crosses in and I thought we dealt with it very well.”
The hosts set about breaking down the Birmingham defence in the second-half but the visitors were happy to soak up the pressure.
Hughton replaced Wood and King with Nikola Zigic and David Murphy and Zigic almost doubled their lead.
But it was Burke who finished it off deep in added time with a cheeky finish through James's legs.
Bristol City manager Derek McInnes said: "We may need a couple of fresh faces to strengthen an imbalanced squad, but I believe I have inherited a good group of players with the right attitude.
"There wasn't much in the game. I felt we should have had a second-half penalty when Stephen Carr clattered into Jon Stead and we missed some decent chances."
Birmingham manager Chris Hughton said: "The first goal from Chris Burke was very good. He had the foresight to get into that position. To tap it in from the six-yard box shows great desire to get into the box.
"We had to defend very well today. We limited them to minimal chances but with the two wide players they have got they're always going to get crosses in and I thought we dealt with it very well."
Live Text Commentary
Full Time The referee brings the game to a close.90:00 +5:36 Booking
Booking Booking for Liam Fontaine for dissent.90:00 +4:49
Keith Fahey provided the assist for the goal.90:00 +4:49 Goal scored
Goal! - Chris Burke - Bristol C 0 - 2 Birmingham Chris Burke grabs a goal from inside the area low into the middle of the goal. Bristol City 0-2 Birmingham.90:00 +3:54
Damion Stewart produces a cross, clearance made by Curtis Davies.90:00 +1:39
Albert Adomah takes a shot. Blocked by Stephen Carr.89:37
Direct free kick taken by Steven Caldwell.89:37 Booking
Booking The referee books Damion Stewart for unsporting behaviour.89:22
Damion Stewart gives away a free kick for an unfair challenge on David Murphy.88:48
Shot from outside the area by Nicky Maynard misses to the left of the goal.87:20
The ball is delivered by Marvin Elliott, Stephen Carr makes a clearance.86:45
Free kick awarded for an unfair challenge on Brett Pitman by Curtis Davies. Direct free kick taken by Brett Pitman.85:40
Unfair challenge on Liam Ridgewell by Marvin Elliott results in a free kick. Liam Ridgewell restarts play with the free kick.85:19
A cross is delivered by Chris Burke, Keith Fahey takes a shot. Brilliant save by David James.84:48
Corner taken by Chris Burke from the right by-line to the near post.84:35
Stephen Carr produces a cross, Albert Adomah manages to make a clearance.84:08 Booking
Booking Booking for Boaz Myhill for time wasting.83:22
Free kick awarded for a foul by Stephen Carr on Liam Fontaine. Neil Kilkenny produces a strike on goal direct from the free kick.80:10
Inswinging corner taken by Chris Burke, Brett Pitman makes a clearance.77:23
Free kick taken by David James.
Booking Jean Beausejour goes into the referee's book.77:15
Jean Beausejour gives away a free kick for an unfair challenge on Neil Kilkenny.75:37 Substitution
Substitution David Murphy joins the action as a substitute, replacing Marlon King.75:37 Substitution
Substitution Jon Stead leaves the field to be replaced by Brett Pitman.74:09 Substitution
Substitution Chris Wood leaves the field to be replaced by Nikola Zigic.74:09
Stephen Carr crosses the ball.72:42
The ball is sent over by Marlon King, clearance made by Lewin Nyatanga.72:27
Liam Ridgewell crosses the ball.70:47
Albert Adomah produces a cross, clearance by Curtis Davies.70:32
Liam Fontaine fouled by Marlon King, the ref awards a free kick. Neil Kilkenny restarts play with the free kick.68:29
Albert Adomah produces a cross, Curtis Davies manages to make a clearance.67:33
Outswinging corner taken right-footed by Neil Kilkenny from the right by-line, Steven Caldwell manages to make a clearance.66:41
Marlon King sends in a cross, clearance made by Jon Stead.65:59
Outswinging corner taken right-footed by Jean Beausejour, clearance made by Jon Stead.65:35
The ball is crossed by Liam Ridgewell, clearance by Ryan McGivern.64:37
The ball is crossed by Ryan McGivern, clearance by Steven Caldwell.63:50 Substitution
Substitution Kalifa Cisse replaces Jamal Campbell-Ryce.63:07
Jamal Campbell-Ryce sends in a cross, clearance made by Steven Caldwell.62:57
Keith Fahey takes a shot. Blocked by Jamal Campbell-Ryce.60:45
Free kick awarded for a foul by Damion Stewart on Chris Wood. Free kick crossed left-footed by Liam Ridgewell.60:09
Lewin Nyatanga crosses the ball.58:16
Neil Kilkenny delivers the ball from the free kick right-footed from left wing, Keith Fahey manages to make a clearance.58:16 Booking
Booking The referee shows Stephen Carr a yellow card.58:00
Stephen Carr challenges Jamal Campbell-Ryce unfairly and gives away a free kick.57:10
Boaz Myhill takes the free kick.57:10 Booking
Booking The referee books Nicky Maynard for unsporting behaviour.56:33
Free kick awarded for an unfair challenge on Curtis Davies by Nicky Maynard.55:08
Chris Burke sends in a cross, Damion Stewart manages to make a clearance.52:43
Effort from outside the penalty area by Neil Kilkenny goes wide left of the goal.50:47
Corner taken by Neil Kilkenny, Jean Beausejour makes a clearance.49:40
Morgaro Gomis produces a right-footed shot from deep inside the penalty box which goes wide of the left-hand upright.45:01
The second half begins.45:01 Substitution
Substitution (Bristol City) makes a substitution, with Ryan McGivern coming on for Cole Skuse.45:00 +2:32 Half time
Half Time The first half comes to an end.45:00 +0:41
Free kick awarded for a foul by Damion Stewart on Chris Wood. Jean Beausejour takes the direct free kick.45:00 +0:23
The ball is delivered by Albert Adomah, Stephen Carr makes a clearance.44:16
Corner from right by-line crossed in by Keith Fahey, Marvin Elliott manages to make a clearance.43:36
Outswinging corner taken from the right by-line by Jean Beausejour, Cole Skuse makes a clearance.42:18
The ball is crossed by Neil Kilkenny, Shot from close range by Jon Stead misses to the right of the target.37:50
The ball is delivered by Albert Adomah, clearance made by Stephen Carr.35:45
Jean Beausejour provided the assist for the goal.35:45 Goal scored
Goal! - Chris Burke - Bristol C 0 - 1 Birmingham Chris Burke finds the back of the net with a headed goal from inside the box. Bristol City 0-1 Birmingham.34:34
Liam Ridgewell produces a cross, David James makes a save.34:12
Jamal Campbell-Ryce fouled by Morgaro Gomis, the ref awards a free kick. Free kick taken by Jamal Campbell-Ryce.32:04
The ball is crossed by Marvin Elliott, Steven Caldwell makes a clearance.31:22
Corner from the right by-line taken by Keith Fahey, Neil Kilkenny manages to make a clearance.31:07
Chris Burke takes a inswinging corner to the near post, The ball is sent over by Jean Beausejour, Lewin Nyatanga manages to make a clearance.29:17
Jean Beausejour gives away a free kick for an unfair challenge on Marvin Elliott. Direct free kick taken by Cole Skuse.28:00
Keith Fahey sends in a cross, clearance made by Jon Stead.27:32
Corner taken by Jean Beausejour, clearance made by Jon Stead.26:42
Marvin Elliott sends in a cross, Shot by Jon Stead from deep inside the penalty area misses to the left of the goal.21:38
Jon Stead gives away a free kick for an unfair challenge on Curtis Davies. Stephen Carr takes the free kick.20:57
Outswinging corner taken from the right by-line by Neil Kilkenny, clearance made by Keith Fahey.19:11
Short corner worked by Jamal Campbell-Ryce, Boaz Myhill makes a save.18:58
Marvin Elliott takes a shot from just inside the penalty box which clears the bar.17:59
Inswinging corner taken by Keith Fahey.17:19
A cross is delivered by Jean Beausejour, Chris Wood takes a shot. David James makes a save. Chris Wood takes a shot. Save by David James.14:18
Nicky Maynard delivers the ball, clearance made by Morgaro Gomis.13:18
Neil Kilkenny fouled by Chris Wood, the ref awards a free kick. Neil Kilkenny takes the direct free kick.12:50
Keith Fahey takes a shot. Save by David James.12:22
Foul by Damion Stewart on Chris Wood, free kick awarded. Direct free kick taken by Liam Ridgewell.11:01
Chris Burke takes a shot. Liam Fontaine gets a block in. Free kick awarded for a foul by Albert Adomah on Marlon King. Jean Beausejour delivers the ball from the free kick left-footed from right by-line.6:56
Jon Stead produces a cross, clearance by Liam Ridgewell.5:25
Nicky Maynard has shot on goal from just outside the area which goes wide of the right-hand upright.4:21
Corner crossed in by Jean Beausejour.4:13
A cross is delivered by Chris Burke, Lewin Nyatanga manages to make a clearance.3:00
Free kick awarded for a foul by Nicky Maynard on Liam Ridgewell. Free kick taken by Boaz Myhill.0:34
Corner taken left-footed by Jean Beausejour, Header by Curtis Davies from deep inside the penalty area misses to the left of the goal.0:00
The referee gets the game started.
Live data and text provided by our data suppliers