Aston Villa reached their second League Cup semi-final in four years by beating Norwich City and in turn handed boss Paul Lambert victory on his first visit back to his former club.
Steve Morison gave Norwich the lead by clipping over Shay Given before Brett Holman's drive levelled matters.
Both sides had a number of chances to take the lead in a frenetic tie.
But substitute Andreas Weimann's late double and a tidy Christian Benteke strike saw Villa through.
Lambert's return to Norwich, the club he left to join Villa, provoked little anger from the Carrow Road faithful, who most likely still hold the Scot's feat of back-to-back promotions in higher regard than the fact he walked away from the club in the summer.
Off the pitch the disagreement between the sides over Lambert's switch to Villa Park will be decided by a tribunal in January.
But on it, it was not until the final 10 minutes that the teams could be separated, when the predatory instincts of Weimann and Benteke's fine finish settled a pulsating game
"There was a nice touch from Paul Lambert at the end, who came onto the pitch and shook all the Norwich players' hands. You've got to give the man respect - he's come back to his old club and got a fantastic result on the night. For such a young team you can see signs of confidence at Aston Villa, and tonight they passed the ball well and created chances, which they finished off. This will do Villa a lot of good."
The opening pace was frantic and showed little sign of slowing, with Morison's cross striking a Villa post and Darren Bent, making his first start for six weeks, failing to beat Mark Bunn when one-on-one.
But Morison had his side in front when pouncing on to Nathan Baker's misjudged header and poking past Given.
Merely seconds had passed before Holman levelled, collecting the ball after Sebastien Bassong and Benteke had challenged for it in the air and hitting a firm shot from the edge of the area past Bunn.
The Canaries keeper was in a determined mood, however, denying Matthew Lowton, Benteke and Holman with sharp saves.
Morison could and should have at least quadrupled his tally, missing a host of opportunities, most notably when he was released by Anthony Pilkington in the second half and lobbed over the bar.
When he finally found the net again his celebration was cut short by an offside flag - as was Benteke's moments later at the other end following good work by Weimann, who had replaced the injured Bent at half-time.
And the young Austrian justified Lambert's decision to bring him on when he completed the turnaround for Villa, slotting home from Eric Lichaj's low cross with 10 minutes remaining.
He added his second when Benteke was rewarded for tireless work down the left channel, laying on a simple tap in for his strike partner.
And Benteke's crisp strike eased Villa into the semi-finals of a competition they have won five times, the most recent coming in 1996, and will give them a chance to make amends for their defeat by Manchester United in the 2010 final.
Aston Villa manager Paul Lambert:
"I thought the whole game we were excellent.
"We've been playing like that since the Sunderland game
[a 1-0 win on 3 November]
and maybe haven't got the results we might have got."
Lambert on Benteke's 10th goal of the season:
"I think it's a lot to burden somebody with goals. But Benteke, you run out of things to say about the guy, how well he's performing and how young he is.
"He more than holds his own in the team Belgium have got at the moment. What he does in the Belgium team he seems to bring here."
Norwich boss Chris Hughton:
"There were pivotal moments. At 1-0 we should have held on to that lead for longer and then we have a great chance very early in the second half. If that goes in then possibly it's a different story.
"I certainly couldn't fault the endeavours of the players. It became a typical end to end cup tie.
"But in the clinical areas that mattered they obviously showed more than us."
- 28 Bunn
- 02 R Martin
- 05 Bassong
- 20 Barnett
- 23 Tierney
- 04 Johnson
- 07 Snodgrass
- 08 Howson (E Bennett - 87' )
- 12 Pilkington
- 09 Holt
- 16 Morison (Jackson - 80' )
- 13 Rudd
- 06 Turner
- 18 Garrido
- 33 Francomb
- 15 Fox
- 17 E Bennett
- 10 Jackson
- 01 Given
- 06 Clark
- 30 Lichaj
- 32 Baker
- 34 Lowton
- 08 El Ahmadi
- 16 Delph
- 31 Herd
- 09 Bent (Weimann - 35' )
- 14 Holman (N'Zogbia - 73' )
- 20 Benteke
- 22 Guzan
- 37 Williams
- 10 N'Zogbia
- 12 Albrighton
- 25 Bannan
- 11 Agbonlahor
- 26 Weimann