Just as it seemed they had reasserted their historical superiority in the second city derby, Aston Villa succumbed to a fightback that will leave them puzzling for some time over how the 100th meeting of these fierce rivals slipped from their grasp.
Leading 2-0 two minutes into the second half, so much on top they could have been four or five goals to the good against a Birmingham side who had curiously failed to respond to the occasion, they inexplicably allowed a belated show of spirit from their opponents to restrict them to a point.
Stern John, thrown on seven minutes from the end as Steve Bruce's last throw of the dice, emerged as the blue hero, stealing an equaliser deep into stoppage time, but in retrospect both managers could identify a four-minute period early in the second half as the key phase of the game.
During that time, Villa lost their central defender Ronny Johnsen and the midfielder Gareth Barry through injury, depriving them of two influential players, while Birmingham introduced Clinton Morrison and David Dunn whose arrival gave their side the drive they had been lacking.
Within five minutes, Mikael Forssell's 12th goal of the season had offered Birmingham a chance, and for the remaining half-hour the balance of the contest, so heavily weighted in Villa's favour in the opening half, tilted markedly the other way.
The chances made by Birmingham were not so clear-cut as the ones Villa had missed, but for effort alone the reward of a point was not misplaced. When John thrashed the loose ball into the roof of the net after Morrison's shot had been pushed away by Thomas Sorensen, Bruce ran on to the field punching the air. In the neighbouring dugout, David O'Leary could scarcely believe his eyes.
"Good luck to Birmingham for fighting back but if we had taken half our chances we would have won the game comfortably," O'Leary said. "For the last 30 minutes we just stopped playing."
Darius Vassell, whose eighth goal of the season had given Villa a 21st-minute lead, could have had a first-half hat-trick, squandering a marvellous chance carved out by the best move of the match and wasting another opportunity with a weak, poorly directed header. Lee Hendrie and Nolberto Solano combined to set up the first, leaving Vassell with only the goalkeeper, Maik Taylor, to beat, and Hendrie supplied the cross for the second. Again the finish was poor.
Even so, once Vassell had slid the ball home from close range after Barry had beaten Damien Johnson on the left, Villa were in charge. When Thomas Hitzlsperger doubled the lead with a 20-yard left-foot rocket barely a minute into the second half, one could foresee only one winner.
Indeed, even after Forssell had cut the deficit, beating Sorensen from the edge of the box after Morrison had shielded the ball from the substitute Dion Dublin, Juan Pablo Angel should have made the points safe, firing sloppily wide with only Taylor in his way.
Bruce, admitting to a half-time dressing-room broadside, said: "I think they like to see me lose my temper but I just had to remind them of a few things. It was so unlike us on a derby day but Dunn and Morrison seemed to give us the spark we had been missing."
Goals: Vassell (21) 1-0; Hitzlsperger (47) 2-0; Forssell (60) 2-1; John (90) 2-2.
Aston Villa (4-4-2): Sorensen 7; De la Cruz 5, Mellberg 7, Johnsen 5 (Dublin 5, 52), Samuel 7; Solano 6, Hendrie 6 (L Moore, 82), Hitzsperger 7, Barry 7 (Whittingham 6, 56); Vassell 7, Angel 6. Substitutes not used: Postma (gk), Crouch.
Birmingham City (4-4-2): Maik Taylor 5; Tébily 5, Cunningham 6, Purse 5, Kenna 4 (John, 83); Johnson 6, Savage 6, Clemence 5 (Dunn 7, 56), Hughes 6; Forssell 7, Dugarry 4 (Morrison 6, 56). Substitutes not used: Bennett (gk), Martin Taylor.
Referee: J Winter (Teesside) 7.
Bookings: Birmingham: Johnson.
Man of the match: Hitzsperger.