Craig Gardner was Birmingham's hero for the second time in a week as he dealt a blow to Manchester City's fading title hopes in a 2-2 draw at St. Andrew's.
Gardner had scored the goal which earned Alex McLeish's side victory over West Ham in the Carling Cup semi-final and followed that up with a late equaliser from the penalty spot as his side salvaged a precious point.
The visitors twice led through Carlos Tevez and Aleksandar Kolarov but were pegged back by Nikola Zigic and then Gardner's sixth goal of the campaign. It means they are now eight points adrift of Barclays Premier League leaders Manchester United and have played a game more.
After four minutes Tevez converted his 17th goal of the campaign. David Silva was allowed to break into the Birmingham box before finding Tevez. His shot from a narrow angle took a slight deflection off Martin Jiranek before bobbling into the far corner of the net.
Birmingham started to get a foothold in the game and drew level through Zigic in the 25th minute.
David Bentley angled in a low free-kick from on the left flank and Zigic was first to react at the near post in deflecting the ball past Joe Hart.
Micah Richards was stretchered off just after the half-way mark and replaced after a lengthy delay by Kolo Toure.
After 41 minutes a superb strike from Kolarov restored the lead for the visitors. Gardner paid the price for bringing down Edin Dzeko on the edge of the area as Kolarov's powerful shot curled into the corner.
Birmingham levelled for the second time after 77 minutes. Patrick Vieira fouled fellow substitute Kevin Phillips inside the penalty area and up stepped Gardner to hammer the spot-kick past Hart into the roof of the net.