City made a blistering start and went ahead on four minutes when David Silva surged forward before laying the ball off for Carlos Tevez to slot the ball past Ben Foster.
But Birmingham were not about to fold and pulled level 19 minutes later when Nikola Zigic, who has struggled to impress during his maiden Premier League campaign, got on the end of a David Bentley free-kick to poke the ball home.
However, they fell behind once more four minutes before the break when Edin Dzeko was fouled on the edge of the area and Aleksandar Kolarov gave Foster no chance with a superb curling free-kick.
Bentley continued to look lively for the hosts, though, and he fired over from distance before providing a cross that Roger Johnson should have at least headed on target.
Foster kept Birmingham in it at the other end with a fine save to deny Tevez, and he was rewarded with 13 minutes remaining when Craig Gardner rescued a point from the penalty spot after Patrick Vieira fouled Kevin Phillips.