It looked as though the points would be heading to Manchester when Aleksandar Kolarov fired home a 41st minute free-kick and then his side looked likely to go on but Birmingham were awarded a 76th minute penalty when Patrick Vieira clumsily blocked Kevin Phillips in the area.
Craig Gardner hammered it home to give his side a share of the points as Birmingham remained 17th whilst City stayed third.
GOAL Ma City were ahead in just the fifth minute when David Silva took it into the box before cutting back for Carlos Tevez. The skipper turned and struck goalward from an angle, the shot bobbling off Martin Jiranek and into the back of the net.
GOAL Less than 20 minutes later, Birmingham restored parity after they won a free-kick on the left wing. David Bentley whipped it from the dead ball situation for Nikola Zigic to stab home for the leveler.
Just after the half-hour mark, City defenders Nigel de Jong and Micah Richards clashed in the air whilst trying to clear with both players hitting the deck. Richards had to be carried off on a stretcher and replaced by Kolo Toure as both he and de Jong had gashes to their heads.
There was seven minutes of stoppage time in the opening half due to the collision with de Jong and Richards but neither side could make the most of the extra time.
Birmingham began the second half brightly as they chased a leveler before Man City really picked up their game and looked like getting a third.
But the home side managed to get back into the contest when Kevin Phillips came on with immediate effect as he turned in the area and was impeded by City midfielder Patrick Vieira who was appearing for the 300th time in the Premier League.
GOAL Referee Kevin Friend pointed to the spot and Craig Gardner stepped up to the plate for his club’s first spot-kick of the league season. City’s leading scorer absolutely hammered it home down the middle to make it 2-2 in the 76th minute.
Birmingham were making life increasingly difficult for City and close to a winner when Philips tried his luck in the 90th minute but his deflected shot was knocked away by Joe Hart as his side spilt a great chance to move closer to the top two sides.
Ben Foster (gk), Liam Ridgewell, Stephen Carr, Martin Jiranek, Roger Johnson, Barry Ferguson, David Bentley, Lee Bowyer (Beausejour 75’), Craig Gardner, Nikola Zigic, Cameron Jerome (Phillips 70’),
Subs - Colin Doyle (gk), Kevin Phillips (70’), Jean Beausejour (75’)
Joe Hart (gk), Vincent Kompany, Micah Richards (K.Toure 37’), Jerome Boateng, Aleksandar Kolarov, Nigel de Jong (Vieira 46’), Gareth Barry, James Milner, David Silva, Carlos Tevez, Edin Dzeko
Subs - Shay Given (gk), Kolo Toure (37’), Patrick Vieira (46’)