Bolton took 72 minutes to break the deadlock at the Reebok
Bolton made it three home Premier League wins in a row courtesy of El-Hadji Diouf's second-half goal and a late brace from Nicolas Anelka.
Bolton edged a tight first half, with Ivan Campo and Anelka testing Blues keeper Maik Taylor in the early stages.
Kevin Nolan had a goal ruled out for offside before Diouf converted Anelka's cross to make it 1-0 after 72 minutes.
A suicidal Johan Djourou throw-in set up Anelka to double the lead before he grabbed his second in injury time.
The Trotters are unbeaten at home in the league since new boss Gary Megson took over but although they started like a side full of belief they were quickly dragged into a frantic battle in the middle of the park.
The hosts produced their first effort on target inside a minute after Birmingham conceded a free-kick.
Campo's low 25-yarder was just sneaking in but Taylor got down comfortably to save at the base of his near post.
The best chance of the half came less than five minutes later.
When Diouf's cross was half cleared Anelka swivelled sharply but Taylor beat his shot away and the visitors scrambled the ball clear.
Danny Guthrie volleyed over from long range shortly after and Nolan shot into the side-netting after 26 minutes, but as the half wore on Birmingham managed to shut the hosts down as an attacking force.
Bolton midfielder Campo was the only player on show who might have been able to slow things down but one shocking pass with the outside of his right foot, which went 20 yards behind its intended recipient and into touch, summed things up perfectly.
Birmingham failed to muster a shot throughout the entire 45 minutes, with a Sebastian Larsson counter attack, which ended with his cross being put behind for a corner, as good as it got for the visitors.
Bolton upped the tempo as the break approached and appealed for a penalty after Andy O'Brien's flick appeared to hit Rafael Schmitz on the upper arm, but well-placed referee Chris Foy waved away their appeals.
Space was at a premium as both sides scrapped away in midfield
Bolton had the better of the opening half but within two minutes of the restart they came desperately close to falling behind.
A whipped free-kick saw Campo only able to head the ball towards his own goal and it took a fine reaction save from keeper Jussi Jaaskelainen to spare his blushes.
Larsson then lifted a free-kick well over as Birmingham briefly flickered as an attacking threat but the hosts were the better side and as the game entered the final quarter they took control.
They thought they had broken the deadlock after 66 minutes when Nolan bundled home Diouf's free-kick, but the officials incorrectly ruled it out for offside because they thought it had come off Kevin Davies.
Nolan was furious but his side were ahead within five minutes.
Stephen Kelly was unable to deal with Anelka's deflected cross and Diouf side-stepped the defender before placing his shot carefully past Taylor and inside the post.
With their total lack of threat in attack Birmingham looked unlikely to get back on terms but they handed the hosts the points when Djourou's hapless throw-in was intercepted by Anelka.
The France striker needed no second invitation and he danced round Taylor before taking his time to knock the ball home.
Anelka ensured the home fans went home happy as he raced clear in the final minute before sliding the ball past Taylor to ease Bolton away from the relegation zone.
Bolton manager Gary Megson:
"It is a great result for us - whether it was actually a true 3-0 or not I'm not sure.
"The game seemed a lot closer than that, especially in the first half, but you can't complain about winning 3-0.
"We started well but seemed to run out of ideas a bit. In the end we needed a few bits of quality to get us through."
Birmingham boss Alex McLeish:
"It was never a 3-0 game - Christmas came early for Bolton.
"Jussi Jaaskelaninen made a crucial save for Bolton and at the time it looked like we could go on and win.
"I can't fault any of my players on work rate but to capitulate like that with those late mistakes is very hard to take."
Bolton: Jaaskelainen, Hunt, Meite, Andrew O'Brien, Gardner, Nolan, Campo (McCann 59), Guthrie, Davies (Samuel 79), Anelka, Diouf.
Subs Not Used: Al Habsi, Speed, Giannakopoulos.
Booked: Hunt, Gardner, Diouf.
Goals: Diouf 72, Anelka 78, 90.
Birmingham: Maik Taylor, Kelly, Jaidi, Schmitz, Sadler (Kapo 46), Larsson, Johnson, Djourou, Muamba, McSheffrey (O'Connor 74), Jerome.
Subs Not Used: Doyle, Forssell, Nafti.
Booked: Jaidi, Johnson.
Ref: Chris Foy (Merseyside).
BBC Sport Player Rater man of the match: Bolton's Nicolas Anelka 7.67 (on 90 minutes).
Please note that you can still give the players marks out of 10 on BBC Sport's Player Rater after the match has finished.