Libor Kozak’s first Villa goal earned Paul Lambert another win on his return to Norwich – as Brad Guzan’s penalty save inspired the claret and blues.
The American saved Robert Snodgrass’ sixth minute spot kick – after Ciaran Clark’s handball – to keep Villa’s first Premier League clean sheet in 27 games.
But victory came at a price with £7m man Kozak only on after Christian Benteke limped out with a groin injury in the first half. Guzan brilliantly saved from Gary Hooper at the death as Villa finally ended their shut-out woes.
Aleksandar Tonev was handed his full debut as Leandro Bacuna and Clark returned to the line-up.
Matt Lowton and Ashley Westwood were out completely while Jores Okore is sidelined for the season with cruciate knee ligament damage.
Norwich made two changes with Steven Whittaker and Bradley Johnson replaced by Russell Martin and Jonny Howson.
Villa raced out of the blocks and could have gone ahead inside the first minute.
Gabby Agbonlahor bulldozed his way through the Norwich midfield and the ball ran to Weimann, who fired straight at John Ruddy from the edge of the area.
Two minutes later the Austrian went close again then he curled against the inside of the post after Agbonlahor’s strong run.
And the action-packed start continued when Norwich were awarded a penalty when Clark handled Snodgrass’ knock down.
But Guzan dived to his left to save Snodgrass’ poor spot kick after the Scotland international pulled rank on £8.5m striker Ricky van Wolfswinkel.
The miss galvanised the hosts though and van Wolfswinkel guided Nathan Redmond’s knockback over from four yards.
Norwich continued to use the flanks but their final delivery failed to seriously test Villa and the visitors were dangerous on the break.
Benteke’s shot was deflected wide on 18 minutes and from the resulting corner the Belgian headed down for Ron Vlaar to volley wide.
But Benteke’s afternoon was over 10 minutes later when he limped off with an apparent groin injury – and while he was down van Wolfswinkel volleyed inches wide.
Kozak replaced the striker and opened his Villa account almost instantly on 30 minutes.
Weimann’s ball spilt the defence and when Kozak’s shot was saved, Agbonlahor cut the ball back for the Czech to stab in from six yards.
Agbonlahor was causing havoc and sliced through the Norwich midfield with ease and the hosts failed to mount a real response with their pedestrian play.
Tonev twice fired well wide with Villa finishing the half on top despite Redmond slicing wide at the death.
The Bulgarian and Weimann fired off target after the break as Norwich bossed possession but again lacked any penetration.
Guzan was forced into a reaction stop when Bacuna deflected Snodgrass’ cross goalwards on 57 minutes
It roused the hosts, who brought on ex-Celtic striker Gary Hooper for his debut, before Nicklas Helenius replaced Agbonlahor and saw a free-kick deflect over.
Van Wolfswinkel was close to sliding in Leroy Fer’s cross but Villa contained Norwich with a degree of comfort and looked dangerous on the break.
Clark headed wide and Kozak almost doubled the lead with 12 minutes left when his shot deflected into the sidenetting after another quick counter.
Clark then turned Martin’s cross over his own bar and Antonio Luna deflected van Wolfswinkel strike wide with 10 minutes left.
And Guzan kept Villa’s clean sheet intact when he brilliantly turned Hooper’s mis-hit shot over with two minutes left.