Mikael Forssell is Birmingham's top scorer with seven goals
A Mikael Forssell hat-trick and a fine free-kick from Sebastian Larsson secured a vital three points for relegation-threatened Birmingham.
Forssell headed home from close range to open the scoring with Larsson curling a free-kick past Spurs keeper Paul Robinson shortly after the break.
Forssell side-footed in for his second goal, completing his hat-trick when he was through on goal against Robinson.
Jermaine Jenas slotted home for Spurs when the ball deflected to him late on.
Spurs boss Juande Ramos made sweeping changes to the team that beat Chelsea in last Sunday's Carling Cup.
Central defenders Jonathan Woodgate and Ledley King dropped out through injury and they were replaced by Younes Kaboul and Didier Zakora.
Jamie O'Hara, Tom Huddlestone and Teemu Tainio also came into the side while Darren Bent partnered Dimitar Berbatov up front.
For Birmingham Radhi Jaidi returned to the side in place of the suspended Martin Taylor while Gary McSheffrey replaced Olivier Kapo in midfield.
Tottenham looked shaky at the back and it was no surprise to see Birmingham take the lead with the first attack of the game.
Liam Ridgewell was allowed a free header from McSheffrey's corner and the unmarked James McFadden squared to Forssell, who headed past Robinson.
O'Hara had Spurs' first attempt on goal, sending a left-foot half-volley just past the post from outside the box, while Berbatov came close again a few minutes later smashing a right-foot volley against the post.
O'Hara was Spurs' brightest player and he tested Maik Taylor on the half-hour sending a fierce drive from a tight angle straight at the Birmingham keeper.
The 21-year-old O'Hara had his third chance of the half just before the break, but his strike was too close to Taylor who gathered comfortably.
Spurs introduced Jenas and Robbie Keane after the break but it was Birmingham who almost doubled their lead.
Again the chance fell to Forssell, but his volley from McSheffrey's cross was superbly tipped over the bar by Robinson.
But Robinson, who has only recently regained his place in the Spurs side following a series of gaffes, was at fault for Birmingham's second.
Larsson scored it, curling a right-footed free-kick over the Spurs wall and into the corner of the net.
Although the accuracy of Larsson's free-kick was good, Robinson positioning looked at fault and he was slow to get across to the ball.
Spurs boss Juande Ramos made five changes to the Tottenham side
With Spurs in disarray at the back Birmingham took further advantage scoring their third goal a couple of minutes later.
Pascal Chimbonda almost volleyed into his own net and although Robinson kept the ball out, it fell to Forssell, who side-footed home.
Keane injected some urgency into Spurs' attacks and the Irishman had two decent attempts well saved by Taylor in quick succession.
Huddlestone and Berbatov also had efforts for Spurs but they were both unable to find a way past Taylor.
With minutes remaining Forssell secured his hat-trick beating Robinson after finding himself one-on-one with the Tottenham keeper thanks to McFadden's through ball.
Mauro Zarate came on for Birmingham with minutes remaining and proved a handful for Spurs, coming close on several occasions.
Jenas scored a late goal for Spurs, side-footing into an empty net after the ball deflected into his path.
Birmingham manager Alex McLeish:
"We defended well and deserved our half-time lead and were pleased at the break.
"The chances kept on coming and Mikael Forssell deserved his hat-trick
"Recently we have been working hard on free-kicks in training and it was great to see one finally go in.
"We just have to keep on going now and concentrate on our own performances and try and pull out of trouble."
Tottenham assistant manger Gus Poyet:
"Making so many changes was no excuse, the players came in had a chance to show what they can do.
"Paul Robinson had a difficult day but he pulled off some good saves.
"We didn't wake up after the first goal, and we didn't perform.
"But we have to be strong mentally and be better than we were today which frankly wasn't good enough."
Birmingham: Maik Taylor, Kelly, Jaidi, Ridgewell, Murphy, Larsson, Johnson, Muamba, McSheffrey (Parnaby 70), McFadden (Zarate 84), Forssell (Jerome 84). Subs Not Used: Doyle, Nafti.
Goals: Forssell 7, Larsson 55, Forssell 59, 81.
Tottenham: Robinson, Hutton, Zokora (Gunter 73), Kaboul, Chimbonda, Malbranque (Keane 46), O'Hara, Tainio (Jenas 46), Huddlestone, Berbatov, Bent.
Subs Not Used: Cerny, Lennon.
Goals: Jenas 90.
Ref: Lee Probert (Wiltshire).
BBC Sport Player Rater man of the match: Birmingham's Mikael Forssell 7.92 (on 90 minutes).
• Please note that you can still give the players marks out of 10 on BBC Sport's Player Rater after the match has finished.