A double from Darren Bent either side of a Gabby Agbonlahor strike helped Aston Villa to all three points against Norwich City.
The home side had to come from behind after Anthony Pilkington's superb free-kick but they were level when Bent side-footed home.
Agbonlahor then took advantage of Leon Barnett's poor back pass to give Villa the lead before setting up Bent again.
Steve Morison set up a nervy finish when he headed home from close range.
The win was Villa's third of the season and ended a three-game winless streak - but it was nothing more than the home side deserved.
Bent and Agbonlahor were in sparkling form, giving England manager Fabio Capello a timely reminder of what they are capable of ahead of the announcement of his squad for the friendlies with Spain and Sweden.
For the second week in a row Villa started slowly with Pilkington forcing Shay Given into a good early save.
Moments later Morison should have done better when he was given space in the box but his shot, on the turn, was straight at the Villa keeper.
The home side created a good chance five minutes later when Bent was through one on one with John Ruddy but the Norwich keeper raced off his line and deflected the shot clear.
The deadlock was broken on 25 minutes when Pilkington made the Canaries' domination pay and struck a sublime free-kick into the top right-hand corner.
The goal was the 300th Premier League goal of the season and one worthy to hold such a title.
But the lead lasted just five minutes when Bent scored for the third home game in a row.
Did you know?
- Norwich have failed to keep a clean sheet in their 12 league and cup matches this season.
- Darren Bent has scored five goals for Villa so far this season - all at Villa Park
- Villa have now beaten Norwich 25 times in all competitions
All the hard work was done by his strike partner Agbonlahor, who played in a superb low cross from the left to present Bent with a chance he could not really miss from four yards out.
Bent and Agbonlahor were looking threatening every time the home side went forward and the latter was on the scoresheet himself two minutes after the restart.
A weak back pass by Barnett gave Ruddy no chance and he could only watch on in horror as Agbonlahor nipped in first and fired into an empty net.
The all-important third goal for the home side came on 62 minutes after some excellent attacking football.
A run from Charles N'Zogbia was cut out by the Norwich defence but Agbonlahor picked up the loose ball and swung in another superb cross, which found Bent six yards out and he side-footed home.
There was more cheer for the home fans on 67 minutes when Jermaine Jenas, who signed on a season-long loan from Tottenham Hotspur in August, finally made his long-awaited debut after recovering from injury.
With Villa looking comfortable Norwich set up a nervy finish when Morison headed home on 77 minutes.
An excellent ball in by Grant Holt on the left deceived everyone except Morison, who arrived at the far post to head home.
Norwich threw everything at the Villa defence in the closing stages but Alex McLeish's men held on.
Aston Villa manager Alex McLeish:
"We looked like a team that could score goals today. There was some terrific forward play but Norwich gave us one hell of a game.
"It was a very open game. We showed great character and resilience to bounce back from going behind."
Norwich City manager Paul Lambert:
"The good thing about us is we don't stop, we keep going, but we can't give goals away like that.
"We get a foothold in the game at 1-1 and lose a silly goal just after half-time.
"We came to try and win and the first goal was a world-class goal. But Villa are a very good side especially here with the crowd they've got."
Live Text Commentary
Full Time The referee signals the end of the game.90:00 +2:00
A cross is delivered by David Fox.90:00 +0:25
Shay Given takes the free kick.90:00 +0:25 Booking
Booking Caution for Grant Holt.90:00 +0:21
Gabriel Agbonlahor fouled by Grant Holt, the ref awards a free kick.89:11
Headed effort from deep inside the penalty area by Grant Holt misses to the right of the target.88:17
Inswinging corner taken right-footed by David Fox from the left by-line.87:02
David Fox takes the outswinging corner, clearance by James Collins. David Fox produces a cross, Stephen Warnock manages to make a clearance.83:30
Effort from inside the area by Charles N'Zogbia misses to the left of the target.82:11
Kyle Naughton concedes a free kick for a foul on Gabriel Agbonlahor. Jermaine Jenas crosses the ball from the free kick right-footed from left wing.80:11
Effort from deep inside the area by Alan Hutton misses to the left of the goal.78:13
David Fox takes the inswinging corner, James Collins manages to make a clearance. David Fox fouled by Stephen Ireland, the ref awards a free kick. The free kick is delivered right-footed by Anthony Pilkington from left wing, clearance by Darren Bent.76:55
Assist by Grant Holt.76:55 Goal scored
Goal! - Steve Morison - A Villa 3 - 2 Norwich Steve Morison finds the net with a headed goal from close in. Aston Villa 3-2 Norwich.76:50
Grant Holt delivers the ball,75:40
James Collins takes the direct free kick.75:40 Substitution
Substitution (Aston Villa) makes a substitution, with Stephen Ireland coming on for Stiliyan Petrov.75:40
Free kick awarded for a foul by Simeon Jackson on Stiliyan Petrov.75:08 Substitution
Substitution Wesley Hoolahan goes off and Simeon Jackson comes on.74:47 Booking
Booking Booking for Anthony Pilkington for dissent.
Effort on goal by Alan Hutton from just outside the penalty area goes harmlessly over the target.72:04
Anthony Pilkington takes a shot. Save by Shay Given.71:37
The ball is delivered by Grant Holt, clearance made by Richard Dunne.70:37
Gabriel Agbonlahor gives away a free kick for an unfair challenge on Russell Martin. Russell Martin takes the direct free kick.70:01
Corner taken by Stiliyan Petrov.68:44
The ball is crossed by Gabriel Agbonlahor, blocked by Russell Martin. Corner taken by Stiliyan Petrov, Leon Barnett makes a clearance.66:33 Substitution
Substitution Emile Heskey goes off and Jermaine Jenas comes on.63:27
The referee blows for offside against Darren Bent. Indirect free kick taken by David Fox.62:48
The ball is delivered by Kyle Naughton.62:23 Substitution
Substitution David Fox comes on in place of Elliott Bennett.61:26
The assist for the goal came from Gabriel Agbonlahor.61:26 Goal scored
Goal! - Darren Bent - A Villa 3 - 1 Norwich Darren Bent fires in a goal from close range to the top right corner of the goal. Aston Villa 3-1 Norwich.61:22
Gabriel Agbonlahor sends in a cross,60:12
Gabriel Agbonlahor is caught offside. John Ruddy takes the free kick.59:31
Steve Morison takes a shot. Save by Shay Given.58:15
Centre by Wesley Hoolahan, clearance by Alan Hutton. Corner taken by Elliott Bennett from the left by-line, Headed effort from inside the area by Leon Barnett misses to the right of the target.56:30
Marc Tierney produces a cross, save by Shay Given.54:25
Charles N'Zogbia sends in a cross, Leon Barnett manages to make a clearance. Inswinging corner taken left-footed by Charles N'Zogbia, Headed effort from deep inside the area by James Collins misses to the left of the goal.51:11
Kyle Naughton sends in a cross, blocked by Stephen Warnock. Elliott Bennett takes the outswinging corner, clearance by James Collins.47:38 Goal scored
Goal! - Gabriel Agbonlahor - A Villa 2 - 1 Norwich Gabriel Agbonlahor scores a goal from inside the penalty area low into the middle of the goal. Aston Villa 2-1 Norwich.47:00
Darren Bent is ruled offside. John Ruddy takes the free kick.46:47
Elliott Bennett delivers the ball, Shay Given makes a save.45:01
The referee blows his whistle to start the second half.45:00 +4:02 Half time
Half Time The half-time whistle blows.45:00 +3:28
The assistant referee signals for offside against Gabriel Agbonlahor. Free kick taken by Russell Martin.45:00 +3:13
Centre by Marc Tierney, Shay Given makes a save.45:00 +1:17
The free kick is swung in right-footed by Stiliyan Petrov, clearance by Elliott Bennett.45:00 +1:17 Booking
Booking Leon Barnett receives a yellow card.45:00 +1:10
Foul by Leon Barnett on Gabriel Agbonlahor, free kick awarded.45:00 +0:48 Booking
Booking Booking for Andrew Crofts for unsporting behaviour.45:00 +0:07
Foul by Andrew Crofts on Stiliyan Petrov, free kick awarded. Stephen Warnock takes the free kick.44:11
Elliott Bennett fouled by Darren Bent, the ref awards a free kick. Anthony Pilkington takes the free kick.42:52
Shot from 35 yards by Chris Herd went wide right of the post.40:57
Gabriel Agbonlahor concedes a free kick for a foul on Kyle Naughton. John Ruddy takes the free kick.39:47
The referee blows for offside against Grant Holt. Shay Given restarts play with the free kick.34:52
Emile Heskey gives away a free kick for an unfair challenge on Anthony Pilkington. Anthony Pilkington crosses the ball from the free kick right-footed from right wing, Alan Hutton makes a clearance.33:36
John Ruddy takes the direct free kick.33:36 Substitution
Substitution Andrew Crofts joins the action as a substitute, replacing Bradley Johnson.33:36 Booking
Booking Booking for Charles N'Zogbia.33:24
Charles N'Zogbia concedes a free kick for a foul on Kyle Naughton.32:49 Booking
Booking Booking for Wesley Hoolahan.32:40
Centre by Charles N'Zogbia.32:07
Wesley Hoolahan fouled by Alan Hutton, the ref awards a free kick. Wesley Hoolahan takes the direct free kick.30:59
Corner taken by Stiliyan Petrov from the left by-line, Russell Martin manages to make a clearance.29:24
The assist for the goal came from Gabriel Agbonlahor.29:24 Goal scored
Goal! - Darren Bent - A Villa 1 - 1 Norwich Goal scored by Darren Bent from close in low into the middle of the goal. Aston Villa 1-1 Norwich.29:16
Gabriel Agbonlahor sends in a cross,27:21
A cross is delivered by Gabriel Agbonlahor.26:16
Steve Morison challenges Stephen Warnock unfairly and gives away a free kick. Shay Given restarts play with the free kick.24:44
Assist by Grant Holt.24:44 Goal scored
Goal! - Anthony Pilkington - A Villa 0 - 1 Norwich Anthony Pilkington finds the net with a goal direct from the free kick from just outside the box to the top right corner of the goal. Aston Villa 0-1 Norwich.23:40
Foul by Alan Hutton on Grant Holt, free kick awarded.21:32
A cross is delivered by Stephen Warnock, Leon Barnett manages to make a clearance.20:00
The ball is sent over by Charles N'Zogbia.18:12
Darren Bent takes a shot. Save made by John Ruddy. Corner from right by-line taken by Charles N'Zogbia.13:16
Anthony Pilkington crosses the ball.12:32
Free kick awarded for a foul by Stiliyan Petrov on Wesley Hoolahan. Free kick crossed by Elliott Bennett, Darren Bent manages to make a clearance.11:47
Shot by James Collins went wide left of the goal.10:51
Steve Morison takes a shot. Save by Shay Given.10:17
Richard Dunne concedes a free kick for a foul on Grant Holt. Bradley Johnson takes the free kick.8:54
Marc Tierney produces a cross.8:44
Foul by Richard Dunne on Elliott Bennett, free kick awarded. Wesley Hoolahan takes the direct free kick.8:05
Unfair challenge on Chris Herd by Bradley Johnson results in a free kick. Free kick crossed by Stiliyan Petrov, save by John Ruddy.7:37
Foul by Anthony Pilkington on Emile Heskey, free kick awarded. Stephen Warnock takes the free kick.6:25
Marc Tierney gives away a free kick for an unfair challenge on Alan Hutton. Shay Given takes the free kick.5:12
Elliott Bennett takes a shot. Save by Shay Given.4:11
Anthony Pilkington takes a shot. Save made by Shay Given. Inswinging corner taken from the left by-line by Elliott Bennett.3:20
Charles N'Zogbia takes a shot. Marc Tierney gets a block in. Corner taken by Stiliyan Petrov played to the near post, Chris Herd takes a shot. Save by John Ruddy.0:57
Marc Tierney sends in a cross, Stephen Warnock manages to make a clearance.0:14
The referee blows for offside against Darren Bent. Indirect free kick taken by John Ruddy.0:00
The ref blows the whistle to start the match.
Live data and text provided by our data suppliers