Craig Gardner struck the winner as Birmingham City set up a League Cup final against Arsenal after coming from behind to beat West Ham United 4-3 on aggregate on Wednesday.
With West Ham leading 2-1 after the first leg, the Londoners went further ahead thanks to a curling long-range strike from Carlton Cole in the first half before Birmingham turned things on their head after the break.
Midfielder Lee Bowyer struck against his former club and Roger Johnson levelled the tie on aggregate to send it into extra time as Birmingham woke up from their lethargy following the introduction of lively Serbia striker Nikola Zigic.
Gardner, who hit the post twice in normal time, finally found the net with a right-footed shot low into the left corner in the 94th to give Birmingham the lead for the first time in the tie and they held on to win 3-1 on the night.
Berbatov hat-trick keeps unbeaten Man United top
EPL: Villa draw with Birmingham
Manchester delight as United and City march on
League Cup: Pitch invasion mars Birmingham win
West Ham dump holders Man Utd out of League Cup