The Irish international opened his account in impressive fashion in the 58th minute, controlling Michael Carrick's pass on his chest before drilling low across Maik Taylor into the far corner.
Unfortunately, the lead didn't last long. Indeed, if anything, it inspired the home side's best spell, rewarded after 66 minutes when Darren Carter got a break in a tackle on the edge of the box and prodded the ball home from 12 yards.
Mido came off the bench to fire just wide and Taylor then denied the Egyptian and Fredi Kanoute with two fine saves in the space of a few seconds to keep the score at 1-1.
A point was the least we deserved after having the better of the first half as well but it could have been worse - with the game deep into injury time, Julian Gray nodded back Damien Johnson's deep cross for Clinton Morrison, central and 10 yards out, but the striker hooked his volley inches wide.
Martin Jol made four changes from the win against City last time out with Noe Pamarot, Erik Edman, Reto Ziegler and Kanoute in for Kelly, Thimothee Atouba, Simon Davies and Mido - no Darren Anderton or Stephen Clemence for City.
We had the better chances of a lively first half. Pandiani should have tested Robinson from close range after seven minutes but we responded straight away as Kanoute crossed deep, Defoe looped a header back over Taylor that Clapham did well to keep out and Brown was first to the loose ball only to fire over from close range.
Kelly made an early appearance off the bench for Pamarot after just 12 minutes - injured in a clash with Lazaridis - and Heskey poked wide from 15 yards.
Defoe's movement caused problems throughout and his run and blocked shot led to Reid curling narrowly wide after 19 minutes.
Reid and Heskey traded shots before the next decent chance as Defoe latched onto Kanoute's flick, spun on a sixpence but shot over from eight yards.
A second substitute followed before the break with Sean Davis on for Ziegler, who noticeably went straight to physio Dean Kenneally on the bench. Martin Jol later pointed out he had a hamstring problem.
We always had the upper hand in terms of possession and passed the crisper of the two teams but the second half started in similar fashion to the first with half-chances at either end, Melchiot for some reason smashing across goal from the byline and Brown volleying into the ground and Taylor's hands from a tight angle.
We looked the more likely to open the scoring and the goal arrived after 58 minutes. The goal owed a lot to Sean Davis' grit in a central midfield tussle, Carrick took over and chipped the perfect pass to the overlapping Kelly who controlled sublimely and had the finish to match.
But that led to Birmingham's best spell. Upson, Pandiani, Carter and Pandiani again all tried their luck before Carter forced an equaliser with 66 minutes on the clock.
Bursting forward 30 yards out, the midfielder drove through a tackle on the edge of the box and got the rub of the green with the ball spinning out of the tackle in front of him, 10 yards out. Edman darted over but was a second too late as Carter prodded home past a helpless Robinson.
The arrival of Mido - Kanoute went wide right - added extra spring as we pushed forward for the winner.
His first touch led to a fierce drive just off target and he then forced the first of two excellent saves from Taylor in a matter of seconds. It looked goal all over when he met Reid's cross from the left with a bullet header but Taylor somehow dug the ball out from his goalline. Melchiot cleared but Reid was soon back on the ball and crossing again, this time the ball fell at the feet of Kanoute who fired towards the top left corner from 12 yards only for the Northern Ireland keeper to palm out.
That made sure of a point for City but they could have gone two better when Morrison hooked a volley agonisingly just wide in injury time. That would have been harsh.
GUIDE TO THE ACTION
3mins: First effort, Pandiani lashed wide from 22 yards.
7mins: CHANCE. Pandiani latched onto Heskey's knock down, spun and volleyed over from eight yards.
10mins: CHANCES. Kanoute dug out cross from right byline, Defoe at far post attempted looping header back over Taylor that Clapham kept out, Brown got to rebound before Taylor but poked over.
13mins: SUB. Kelly for injured Pamarot.
15mins: CLOSE. Lazaridis inside to Heskey, left side of area, 15 yards out, little poke towards goal just wide.
19mins: CLOSE. Defoe through on right but under pressure, shot blocked, rebound out to Reid, 25 yards out, curled just wide.
23mins: Reid right-foot volley comfortable for Taylor.
25mins: Heskey volley into ground from 16 yards no problem for Robinson.
30mins: CHANCE. Kanoute flicked on Ziegler's cross, Defoe onto it in an instant, flashed shot over from 10 yards.
32mins: Decent move ended with Defoe feeding Kanoute on right corner of box, couple of step overs before shooting wide.
37mins: SUB. Davis for Ziegler.
Half-time: Birmingham City 0, Spurs 0
52mins: Good build-up from City, Pennant combined with Melchiot, got to byline but smashed it across face of goal, neither shot or cross.
54mins: Carrick into Defoe, spread wide to Reid, deep cross went through to supporting Brown at far post but volleyed into ground straight at Taylor.
56mins: SUB. Gray for Pennant.
58mins: GOAL. Good possession in midfield, Davis did well under pressure, Carrick then picked out Kelly's late supporting run from right-back, Kelly controlled on chest and drilled low into far corner.
Birmingham 0, Spurs 1
59mins: Upson not enough power in header to trouble Robinson.
62mins: Pandiani decent header from Gray's cross just off target,
63mins: Carter blasted wide from 25 yards.
64mins: YELLOW. Brown for foul on Lazaridis.
65mins: Robinson didn't get much on attempted punch, Pandiani attempted overhead kick drifted well wide.
66mins: GOAL. Carter surge forward, got a break when ball fell kindly in tackle on edge of box, suddenly in front of goal 12 yards out, just managed to beat Edman to loose ball and poke into corner.
Birmingham 1, Spurs 1
66mins: SUB. Morrison for Pandiani.
67mins: Carter lashed just wide from 22 yards.
70mins: SUBS. Mido for Naybet; Nafti for Lazaridis. Kelly to centre-back, Brown to right-back, Kanoute wide right.
73mins: CLOSE. Mido lovely turn away from Cunningham, thundered a yard over from 20 yards.
75mins: SAVES. Taylor smart save to his right to keep out Mido's header, Melchiot clearance went to Reid, ball back in fell to Kanoute, 10 yards out, Taylor excellent reactions to palm away.
89mins: Superb tackle from Upson, last man, to deny Defoe a clear shooting opportunity.
Injury time: MISS. Johnson fine cross from right nodded back by Gray to Morrison, 10 yards out, volleyed inches wide.
Full-time: Birmingham City 1, Spurs 1
Birmingham City: Taylor, Melchiot, Cunningham, Upson, Clapham, Johnson, Carter, Pennant (Gray, 56), Lazaridis (Nafti, 70), Heskey, Pandiani (Morrison, 66). Subs: Vaesen, Blake.
Spurs: Robinson, Pamarot (Kelly, 13), King, Naybet (Mido, 70), Edman, Reid, Carrick, Brown, Ziegler (Davis, 37), Kanoute, Defoe. Subs: Cerny, Keane.
Stephen Kelly's first goal for us wasn't enough in another game of ifs and buts as we finished all square at St Andrews.