Norwich lifted themselves away from the Premier League relegation zone with a nervy win that leaves rock-bottom Aston Villa further adrift of safety.
In a game devoid of quality, Jonny Howson's crisp strike at the far post separated the sides for over an hour.
Villa rarely looked like scoring, with Jordan Ayew heading their best chance straight at home keeper Declan Rudd.
Norwich ensured they moved three points clear of the bottom three when Dieumerci Mbokani powerfully headed in.
Ayew's 20-yard free-kick stretched Rudd in injury time, but Villa did not do enough to avoid falling 11 points from safety with 19 games remaining.
Relive Norwich's win against Aston Villa
Follow the post-match reaction, plus Man Utd v Chelsea, here
Norwich's sense of relief was palpable when Mbokani sealed victory in a match that Canaries manager Alex Neil had described as a "must win".
The Canaries had only won one of their previous six matches - the shock 2-1 success at Manchester United - and started the afternoon just a point above the relegation zone.
It was far from a fluent attacking performance by Neil's side, who only managed four shots on target throughout.
But they showed steel and patience to end Villa's resistance.
Neil will also be pleased at his side's defensive organisation, albeit against a toothless Villa team, as they kept only a second clean sheet of the season.
In short, no. The Birmingham club, who have not been out of the top flight since 1988, rarely looked like ending a club-record run of 17 matches without a league win.
Villa went into the game on the back of successive draws against Newcastle and West Ham United, but realistically needed all three points against Norwich, who occupied 17th place at kick-off, to begin bridging an already formidable gap.
Despite showing some early signs of promise, the Premier League's lowest scorers mustered only three shots on target - they have scored 15 goals in 18 top-flight matches this season, with Jordan Ayew contributing a third of that total.
And had the Ghana international directed his 16th-minute header either side of Rudd - after finding space inside the home penalty area - the game would have had a different look.
However, Villa rarely looked like rescuing even a point once Howson met Nathan Redmond's clipped cross for the opener.
Even manager Remi Garde, who has not won in eight attempts since replacing Tim Sherwood, admitted afterwards his team did not deserve to leave with a point.
Norwich manager Alex Neil: "I think getting the three points is the priority, but it was great to back that up with a clean sheet.
"Once we got the first goal, we settled down and it allowed us to be compact and try to catch Villa on the counter attack. Thankfully we got a second goal, which killed the game off.
"I am delighted for the players - they have worked extremely hard this year. We know we could have done better in the 19 games, so hopefully we will do better in the next 19. If we can do that, we will be fine."
Aston Villa boss Remi Garde: "I would like to say we deserved a point but at the end I think Norwich deserved the win. Nothing more to say.
"We did not play as well as we did in the last two games. We tried to do our best, of course, but did not create many chances. If you don't score in a game, you don't deserve to win.
"I will be the last man not to believe we can still win games. It is my job to make the players believe we will win the next one. I know it has been a long time for them to win, me as well, but we have the quality to win games.
"Sometimes in football you have to cope with this kind of situation. January will be important."
Villa are back on the road - again going to one of their closest relegation rivals. Garde's team travel to second-bottom Sunderland on Saturday, 2 January.
Norwich will be aiming to move further away from the relegation zone when they host Southampton on the same day.
Full Time Match ends, Norwich City 2, Aston Villa 0.
90:00 +6:27 Full timeFull Time Second Half ends, Norwich City 2, Aston Villa 0.
90:00 +6:04Corner, Aston Villa. Conceded by Declan Rudd.
90:00 +6:02Attempt saved. Jordan Ayew (Aston Villa) right footed shot from outside the box is saved in the top left corner.
90:00 +5:08Rudy Gestede (Aston Villa) wins a free kick in the attacking half.
90:00 +5:08Foul by Sebastien Bassong (Norwich City).
90:00 +4:46Adama Traoré (Aston Villa) wins a free kick in the defensive half.
90:00 +4:46Foul by Cameron Jerome (Norwich City).
90:00 +4:00Foul by Adama Traoré (Aston Villa).
90:00 +4:00Robbie Brady (Norwich City) wins a free kick in the defensive half.
90:00 +2:21 BookingBooking Russell Martin (Norwich City) is shown the yellow card.
90:00 +2:20 BookingBooking Micah Richards (Aston Villa) is shown the yellow card.
90:00 +1:52 BookingBooking Ashley Westwood (Aston Villa) is shown the yellow card for a bad foul.
90:00 +0:47Foul by Ashley Westwood (Aston Villa).
90:00 +0:47Nathan Redmond (Norwich City) wins a free kick in the defensive half.
89:17 BookingBooking Jordan Ayew (Aston Villa) is shown the yellow card for a bad foul.
89:15Foul by Jordan Ayew (Aston Villa).
89:15Russell Martin (Norwich City) wins a free kick in the defensive half.
87:58 SubstitutionSubstitution Substitution, Norwich City. Vadis Odjidja-Ofoe replaces Wes Hoolahan.
87:45 SubstitutionSubstitution Substitution, Norwich City. Cameron Jerome replaces Dieumerci Mbokani.
Goal! Goal! Norwich City 2, Aston Villa 0. Dieumerci Mbokani (Norwich City) header from the centre of the box to the bottom right corner. Assisted by Wes Hoolahan.
84:35Corner, Aston Villa. Conceded by Russell Martin.
84:03 SubstitutionSubstitution Substitution, Norwich City. Gary O'Neil replaces Graham Dorrans.
80:37Delay over. They are ready to continue.
80:03 SubstitutionSubstitution Substitution, Aston Villa. Jack Grealish replaces Jordan Veretout.
79:52Delay in match Dieumerci Mbokani (Norwich City) because of an injury.
79:23Foul by Micah Richards (Aston Villa).
79:23Dieumerci Mbokani (Norwich City) wins a free kick in the defensive half.
78:53Corner, Aston Villa. Conceded by Sebastien Bassong.
78:52Attempt blocked. Adama Traoré (Aston Villa) left footed shot from the right side of the box is blocked. Assisted by Alan Hutton.
77:13Attempt saved. Nathan Redmond (Norwich City) right footed shot from outside the box is saved in the top left corner.
76:19 BookingBooking Idrissa Gueye (Aston Villa) is shown the yellow card for a bad foul.
75:58Foul by Idrissa Gueye (Aston Villa).
75:58Nathan Redmond (Norwich City) wins a free kick in the attacking half.
74:00Adama Traoré (Aston Villa) wins a free kick on the right wing.
74:00Foul by Nathan Redmond (Norwich City).
72:41Offside, Norwich City. Russell Martin tries a through ball, but Dieumerci Mbokani is caught offside.
70:59Corner, Aston Villa. Conceded by Russell Martin.
70:17Jordan Ayew (Aston Villa) wins a free kick in the defensive half.
70:17Foul by Alexander Tettey (Norwich City).
69:21Foul by Kieran Richardson (Aston Villa).
69:21Jonny Howson (Norwich City) wins a free kick on the right wing.
68:23 SubstitutionSubstitution Substitution, Aston Villa. Rudy Gestede replaces Leandro Bacuna.
68:00Foul by Idrissa Gueye (Aston Villa).
68:00Wes Hoolahan (Norwich City) wins a free kick on the left wing.
60:24 BookingBooking Ryan Bennett (Norwich City) is shown the yellow card.
60:05Corner, Aston Villa. Conceded by Robbie Brady.
58:15Attempt missed. Sebastien Bassong (Norwich City) header from a difficult angle on the left misses to the left. Assisted by Robbie Brady with a cross following a corner.
57:49Corner, Norwich City. Conceded by Ciaran Clark.
57:27 SubstitutionSubstitution Substitution, Aston Villa. Adama Traoré replaces Scott Sinclair.
57:06Foul by Leandro Bacuna (Aston Villa).
57:06Dieumerci Mbokani (Norwich City) wins a free kick on the right wing.
55:50Attempt missed. Jonny Howson (Norwich City) right footed shot from outside the box is close, but misses to the right.
55:45Attempt saved. Nathan Redmond (Norwich City) right footed shot from outside the box is saved in the bottom right corner. Assisted by Alexander Tettey.
54:12Alan Hutton (Aston Villa) wins a free kick on the right wing.
54:12Foul by Robbie Brady (Norwich City).
53:18Foul by Jordan Ayew (Aston Villa).
53:18Sebastien Bassong (Norwich City) wins a free kick in the defensive half.
49:20Hand ball by Scott Sinclair (Aston Villa).
48:23Corner, Norwich City. Conceded by Ciaran Clark.
47:10Foul by Jordan Ayew (Aston Villa).
47:10Sebastien Bassong (Norwich City) wins a free kick in the defensive half.
45:00Second Half begins Norwich City 1, Aston Villa 0.
45:00 +1:06 Half timeHalf Time First Half ends, Norwich City 1, Aston Villa 0.
44:53Corner, Aston Villa. Conceded by Sebastien Bassong.
44:25Corner, Aston Villa. Conceded by Ryan Bennett.
43:18Ashley Westwood (Aston Villa) wins a free kick in the attacking half.
43:18Foul by Graham Dorrans (Norwich City).
41:13 BookingBooking Jordan Veretout (Aston Villa) is shown the yellow card for a bad foul.
41:08Foul by Jordan Veretout (Aston Villa).
41:08Alexander Tettey (Norwich City) wins a free kick in the defensive half.
39:53Offside, Norwich City. Ryan Bennett tries a through ball, but Dieumerci Mbokani is caught offside.
38:56Foul by Jordan Veretout (Aston Villa).
38:56Wes Hoolahan (Norwich City) wins a free kick in the attacking half.
37:13Attempt missed. Graham Dorrans (Norwich City) right footed shot from the centre of the box is close, but misses to the right. Assisted by Nathan Redmond following a corner.
36:36Corner, Norwich City. Conceded by Ciaran Clark.
33:55Foul by Idrissa Gueye (Aston Villa).
33:55Nathan Redmond (Norwich City) wins a free kick on the left wing.
32:58Foul by Leandro Bacuna (Aston Villa).
32:58Dieumerci Mbokani (Norwich City) wins a free kick in the defensive half.
31:22Foul by Kieran Richardson (Aston Villa).
31:22Dieumerci Mbokani (Norwich City) wins a free kick on the right wing.
30:48Attempt missed. Kieran Richardson (Aston Villa) left footed shot from outside the box misses to the left. Assisted by Jordan Veretout.
25:59Hand ball by Jordan Ayew (Aston Villa).
25:01Foul by Jordan Ayew (Aston Villa).
25:01Sebastien Bassong (Norwich City) wins a free kick in the defensive half.
23:32 Goal scoredGoal! Goal! Norwich City 1, Aston Villa 0. Jonny Howson (Norwich City) left footed shot from the centre of the box to the bottom right corner.
22:28Scott Sinclair (Aston Villa) wins a free kick on the right wing.
22:28Foul by Robbie Brady (Norwich City).
21:29Jordan Ayew (Aston Villa) wins a free kick in the defensive half.
21:29Foul by Alexander Tettey (Norwich City).
19:26Foul by Leandro Bacuna (Aston Villa).
19:26Dieumerci Mbokani (Norwich City) wins a free kick on the right wing.
16:15Attempt missed. Robbie Brady (Norwich City) right footed shot from outside the box is high and wide to the right. Assisted by Alexander Tettey.
15:31Attempt saved. Jordan Ayew (Aston Villa) header from the centre of the box is saved in the centre of the goal. Assisted by Jordan Veretout with a cross.
14:47Scott Sinclair (Aston Villa) wins a free kick on the right wing.
14:47Foul by Alexander Tettey (Norwich City).
14:12Delay over. They are ready to continue.
13:48Delay in match Jordan Ayew (Aston Villa) because of an injury.
11:22Foul by Idrissa Gueye (Aston Villa).
11:22Wes Hoolahan (Norwich City) wins a free kick on the left wing.
8:55Idrissa Gueye (Aston Villa) wins a free kick on the right wing.
8:55Foul by Alexander Tettey (Norwich City).
7:46Attempt missed. Kieran Richardson (Aston Villa) right footed shot from outside the box is too high. Assisted by Jordan Ayew with a headed pass.
5:46Attempt blocked. Robbie Brady (Norwich City) left footed shot from outside the box is blocked.
3:55Dieumerci Mbokani (Norwich City) wins a free kick in the attacking half.
3:55Foul by Ciaran Clark (Aston Villa).
2:42Corner, Aston Villa. Conceded by Jonny Howson.
2:37Attempt saved. Leandro Bacuna (Aston Villa) left footed shot from outside the box is saved in the bottom left corner. Assisted by Jordan Veretout.
0:00First Half begins.
0:00Lineups are announced and players are warming up.
Live data and text provided by our data suppliers