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.
There was no doubting the quality of Roberto Mancini's side and Tevez was a constant threat.
But Birmingham's never-say-die attitude surfaced yet again with on-loan David Bentley and veteran Barry Ferguson impressing.
Edin Dzeko posted an early warning to the home side when his low cross was cut out by Ben Foster.
But 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.
Tevez took up another good position to latch onto a reverse pass from James Milner.
But he failed to make full contact with his shot and Foster saved comfortably.
Joe Hart was seriously tested for the first time after 15 minutes when he tipped over a volley from Zigic.
Birmingham started to get a foothold in the game and drew level thrugh Zigic in the 25th minute.
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 Hart.
The visitors were rattled after their early dominance and Nigel de Jong was yellow carded for bringing down Bentley.
Micah Richards was stretchered off just after the half-way mark when he bravely won the ball in the air but then collided with De Jong.
He was 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 Dzeko on the edge of the area as Kolarov's powerful shot curled into the corner of the net.
Bentley was posing a threat and Kolarov was booked for a rash challenge on the on loan Tottenham player.
Mancini made a half-time switch with Patrick Vieira replacing De Jong.
Bentley was only just too high with a dipping drive from just outside the box as the action got under way again.
At the other end Jerome Boateng would have been disappointed not to test Foster more seriously after good play by Dzeko.
Birmingham retaliated but Jiranek completely mis-kicked from 12 yards out and Johnson headed just wide from a deep Bentley centre.
Tevez was linking up well with Silva and Foster did well to block a shot from the Argentinian after a diagnol run.
Birmingham levelled for the second time after 77 minutes.
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.
In the last minute Hart tipped over a deflected effort from the alert Phillips.
Kolarov was inches wide with a free-kick in the dying seconds.