The battle of the cellar dwellers to determine who would meet Arsenal in the Carling Cup final was won by Birmingham, 3-1 on the night and 4-3 on aggregate, over bottom of the table West Ham at St Andrews.
West Ham have now lost six out of eight semi-final ties, but it could have all been so different had they managed to continued their first half performance after the break.
Birmingham rallied in the second half after a lacklustre first period and scored twice in normal time then clinched a place in the final with a strike in extra time as the Hammers faded badly.
Carlton Cole had given the Hammers a deserved lead with a 25 yard effort just after the half-hour. The visitors now had one foot in the finals as this increased their aggregate lead to 3-1, leaving the Blues to score three times and the possibility of a first major trophy since 1963.
On 59 minutes West Ham failed to clear their lines and Lee Bowyer reacted quickest to blast home through a crowd of bodies.
The home side continued to press and were rewarded with a 3-3 aggregate leveller 11 minutes from time. From yet another corner Roger Johnson is left unmarked to finish with the simplest of headers from close range.
Extra time was almost not needed as Craig Gardner hit the woodwork for a second time but the midfielder was not to be denied and early into extra-time he was allowed time and space to pick his spot from 20 yards.
And so a remarkable turn-around from Birmingham was complete leaving the St Andrews crowd in raptures but West Ham now concentrating on Premiership survival.
Referee: Howard Webb
Venue: St Andrews
Birmingham scorers: Bowyer 59, Johnson 79, Gardner 94
West Ham scorers: Cole 31
07 Larsson (Beausejour 101)
08 Gardner (yellow card) (Murphy 101)
12 Ferguson (yellow card)
14 Derbyshire (Zigic 46)
01 Green (yellow card)
05 Tomkins (yellow card)
18 Spector (McCarthy 106)
13 Boa Morte (O'Neil 83)
09 Cole (yellow card)
26 Hines (Dyer 71 (yellow card)