Spurs had looked the better side in the opening period and deservedly took the lead through Sebastien Bassong's first goal for 16 months.
But Gardner salvaged a point for the Carling Cup semi-finalists 10 minutes from time with his fifth goal of the campaign.
The pace of Aaron Lennon and Gareth Bale was always a threat to Blues and Jermain Defoe looked sharp in his first start since September.
But Blues' never-say-die spirit again surfaced and they posed more of a threat in the second period before Gardner levelled matters.
The first chance fell to Spurs striker Peter Crouch after Aaron Lennon's cross had set up the opportunity.
The England striker had time to bring the ball down and his low volley was turned around the post by Ben Foster.
Blues retaliated and Lee Bowyer's first-time pass picked out the run of Carr behind the Tottenham defence but the former Spurs player shot high and wide from the edge of the six-yard box.
Crouch shook off the challenge of two defenders but failed to make proper contact on his low drive which flew wide.
Spurs started to take control and Blues defender Scott Dann got in an important tackle on Defoe after he had exchanged passes with Crouch.
Liam Ridgewell became the first player to be yellow-carded after 18 minutes for bringing down Bale - and, from the resulting free-kick, Spurs went ahead.
Foster got a touch on an inswinging free-kick from Bale but Bassong was first to react to the loose ball and hammered it home.
Blues were looking vulnerable every time the visitors ventured forward and another dangerous cross from Lennon picked out the unmarked Bale but he failed to make proper contact with his volley.
Gardner produced City's best effort to date after 33 minutes when he burst forward and drilled a low cross-shot just past the post.
Former Blues midfielder Wilson Palacios was booked for diving by referee Kevin Friend and replays showed an incensed Gardner had made no contact.
Bowyer carved out a chance after outwitting Palacios but the final shot was well off the mark.
Blues made a more promising start to the second period but Tottenham had the pace to catch the home side out if they committed players forward and Defoe had a fierce drive deflected just wide.
Blues were now delivering some quality crosses into the box and, from one of them by Ridgewell, a header from Gardner was saved by Gomes down to his left.
Carr produced a good tackle to halt Defoe in the box as he chased down a Crouch through-ball.
Defoe had the chance to double Tottenham's lead after turning inside Ridgewell and Johnson but he screwed his low shot wide.
Gallas blocked a shot from Jerome at the expense of a corner before McLeish brought on Sebastian Larsson for Bowyer.
Foster beat out a Bale effort from a narrow angle and Defoe scuffed a shot wide.
But Blues started to exert heavy pressure and Gomes made a superb save to deny Ridgewell at close range from Jerome's knockdown.
They were not to be denied and after 80 minutes Gardner put them on level terms.
Johnson's deep free-kick was headed back across goal by Zigic and Gardner timed his run perfectly to head past Gomes for his fifth goal of the campaign.
Hutton appeared to push Carr to the floor in injury-time after being on the end of a late tackle but both players escaped with a ticking-off.
Birmingham 1-1 Tottenham: Match Report - view commentary, squad, and statictics of the game as it happened.