Paul Lambert enjoyed a triumphant return to his old club as he received a mixed welcome as he walked out at Carrow Road, with a few jeers heard among general applause for the man who masterminded the Norfolk club's meteoric rise up to the top flight from the depths of npower League One.
However, the former Canaries boss, who is in dispute with his old employers after an acrimonious departure during the summer, enjoyed the last laugh as substitute Weimann hit a second-half brace to turn the tie around after Brent Holman had cancelled out Steve Morison's opener.
Christian Benteke cracked in a fourth during stoppage time to move Villa a step closer to Wembley.
It was a lively start by both teams, with Darren Bent handed his first start by Lambert since the fourth-round tie against Swindon in October.
Norwich, who were defending an unbeaten 10-game run heading into tonight's game, almost snatched the lead inside five minutes when Morison's effort came back off the post.
Bent then went clean through on to Brent Holman's sliderule pass, only for Mark Bunn, again deputising for injured England stopper John Ruddy, to make a smart save.
There was then some concern as Holt went down as he tried to cross the ball back from the goalline, the Norwich captain needing treatment to a leg injury before eventually rejoining the action.
Norwich took the lead on 19 minutes.The ball was flicked on into the path of strike partner Steve Morison, who showed great composure to lift his shot over Shay Given and into the net.
Villa, though, were soon back on level terms, as Holman slammed home an equaliser less than two minutes later.
A long ball from Matt Lowton was knocked down into the path of the Australian, who swept a superb effort past Bunn from 20 yards - much to the delight of Lambert in the unfamiliar visitors dugout.
Villa remained dangerous on the break and Bunn produced two saves from the top drawer to first deny Lowton and then a follow-up effort from Benteke on 25 minutes.
When Norwich got themselves into a good position, Robert Snodgrass whipped a cross over from the right which Morison just failed to connect with at the far post.
Bent's return lasted only 34 minutes, as the former England striker signalled to the bench clutching his hamstring, and was replaced by Weimann.
At the other end, Given redeemed himself after some earlier poor touches with a fine save at the near post from Morison following a quick break down the left.
Snodgrass was again the provider at the start of the second half when his deep cross from the right was headed over by Morison.
The Wales forward was then played clean through by Holt, but instead of trying to round Given, he clipped the ball over the keeper and high into the River End.
When Morison did find his range when running on to a throughball before slotting into the bottom left corner, his celebrations were cut short by an offside flag.
The same happened at the other end just moments later when Weimann burst down the right on the counter and cut a ball back across the six-yard box for Benteke to nod in - only to again see the effort chalked off.
As the hour mark passed, the atmosphere inside a packed Carrow Road was cranked up as both sets of supporters sensed the tie was there for the taking.
Given produced a brilliant reaction save at point-blank range to somehow palm away a bullet header from Holt following a corner.
Villa snatched the lead with 12 minutes left after Eric Lichaj charged down the right flank and sent a low cross through the six-yard box, where Weimann arrived at the far post to slot home.
Lambert's men made sure of their semi-final place after a mix-up in the Norwich defence saw the ball drop to Benteke, who squared for Weimann to slot in a third on 84 minutes.
Benteke added a fourth in stoppage time, smashing home from the edge of the penalty area.