Lifelong fan Craig Gardner scored his first Birmingham goal as Alex McLeish's side recovered to earn a 2-2 draw and a point against Everton and preserve their six-month unbeaten home record.
Everton, knocked out of the FA Cup by Blues at Goodison Park this season, had taken control with two goals in three minutes mid-way through the first half from Victor Anichebe and Ayegbeni Yakubu.
But Birmingham's fighting spirit has shone through on countless occasions and it again surfaced. Cameron Jerome's third goal in the last two games gave them a life-line before Gardner's moment of glory following his £3 million January move from local rivals Aston Villa.
Mikel Arteta, who played under McLeish at Rangers, produced an impressive display in front of his former boss. But another ex-Ibrox player in Barry Ferguson was an influential figure in the centre of the park for City.
Both sides gave away a series of niggly free-kicks in the opening quarter of an hour and there was little cohesive play although Everton were quicker to the second ball.
After 16 minutes Blues keeper Joe Hart produced a superb save to keep his side on level terms.
Leighton Baines found Steven Pienaar in space and his curling effort was destined for the corner of the net until Hart finger-tipped his drive around the post.
Hart then clung onto a Cahill header from an Arteta centre before Anichebe put Everton ahead after 18 minutes.
Toffees skipper Phil Neville played the ball into the feet of Anichebe who turned past Liam Ridgewell before beating Hart with a powerful 15 yard drive.
Then three minutes later Yakubu got on the score-sheet to double Everton's lead.
Arteta picked out the run to the by-line of Pienaar and, from his cross, Yakubu climbed above Roger Johnson to head home at the far post.
Birmingham needed a positive response and hit back through Jerome. Keith Fahey sent in a cross from the left of the Everton box and Jerome got the faintest of touches in deflecting the ball wide of Tim Howard and into the corner of the net.
Lee Bowyer became the first player to be booked - for deliberate handball - but there was now more purpose about the home side's general play.
In first half-injury-time Hart again excelled to push away a Pienaar free-kick.
Everton appealed in vain for a penalty for handball against Johnson following a fiercely struck shot from Pienaar early in the second half.
There was then another shout for handball in the box from the visitors fans against Gardner but this was also rejected by referee Probert.
After 52 minutes Gardner brought Blues back on level terms. Jerome won the challenge in the air and in an instant Gardner ran onto the ball and drilled a low left-footed drive past Howard into the corner of the net.
But after 59 minutes he was substituted and replaced by Sebastian Larsson.
Yakubu was booked after blocking a Bowyer free-kick when not retreating 10 yards.
Everton boss David Moyes made his first change when bringing on Landon Donovan for Yakubu after 67 minutes while Christian Benitez was replaced by former Everton striker James McFadden after 73 minutes.
Cahill created space for himself but fired his left-footed attempt straight at Hart before he made way for Jack Rodwell.
Anichebe looked in a lot of pain when suffering a knee injury after a challenge with Johnson and he was immediately substituted with Dan Gosling coming on for the striker.
McFadden blazed over from close range as both sides sought a winner while Johnny Heitinga also fired one over the bar for the Toffees.
Copyright (c) PA Sport 2009, All Rights Reserved.
Do YOU want to write for GiveMeSport? Get started today by signing-up and submitting an article HERE: http://gms.to/writeforgms