El-Hadji Diouf's late penalty helped earn Leeds an FA Cup fourth-round tie at home against Tottenham as they came from behind to beat Birmingham.
Blues went ahead in a lifeless first half between the Championship sides when Nathan Redmond crossed for Wade Elliott to convert.
Luke Varney headed wide soon after but Leeds equalised when Diouf set up Ross McCormack following Sam Byram's cross.
Diouf then stepped up to chip in from the spot on 76 minutes.
It capped a fine 32nd birthday for Diouf and the turnaround came without 19-goal striker Luciano Becchio, who was missing because of illness after being a reported January transfer target for several clubs.
Leeds' first win at St Andrew's since 1996 also provided them with their 100th in FA Cup history and sealed progress from the third round for only the second time in 10 years.
The visitors were backed by an impressive 1,547 travelling fans among a lacklustre overall crowd of 8,962, and even they had little to cheer in a poor opening period.
Marlon King and Elliott both had attempts on goal before Birmingham took the lead and both played their part in the opener.
King fed Redmond down the right and he delivered to the far post where Elliott side-footed across Jamie Ashdown.
Varney should have levelled within a minute but was off target, and Leeds also went close when Rodolph Austin's speculative effort was spilled by Colin Doyle.
The pressure finally told, with Diouf setting up McCormack, who was on hand to stroke home from eight yards.
Six minutes later, Austin's cross struck the hand of Robinson and, after much deliberation between the officials, Diouf was handed the chance to convert from 12 yards.
He did so with a cheeky chip and, although Elliott, Nikola Zigic and Peter Lovenkrands all went close for Birmingham, Leeds held on.
Birmingham assistant Terry McDermott:
"It is a big disappointment because I'm sure the fans would have loved to have seen Tottenham playing here.
"We're disappointed. I think we're a bit more than disappointed actually, we're devastated really because we wanted a big game like that.
"Obviously it would have helped the club as well financially, but it's not to be."
Leeds manager Neil Warnock:
"I've heard the rumours [about Luciano Becchio leaving] but I think he has texted Shaun Harvey (Leeds chief executive) to say he is at home.
"So he's obviously heard the rumours. We lost Becchio this morning, he came off training yesterday and said he felt sick.
"And then the doc said this morning that he was sick in the night so he didn't travel."