Norwich survived a second-half assault from Sunderland to secure their fourth straight home Premier League win and condemn the Wearsiders to a 2-1 defeat.
A second goal in eight days from former Newcastle defender Sebastien Bassong and a smart finish from Anthony Pilkington gave the home side a well-deserved two-goal lead.
- <Sunderland sweat on Fletcher fitness
- Watch every goal from every Premier League game with ESPN Goals (UK only)
- Davitt: Norwich refuse to buckle in the face of storm
- Randall: Cats lose out to Canaries as crisis deepens
But Craig Gardner pulled one back just before the break for Sunderland, who then wasted numerous chances in a second half they dominated without managing to secure a much-needed result.
The win moves the Canaries up to 12th in the table, with Sunderland still only one place and one point above the relegation zone.
The hosts dominated the opening exchanges and looked much sharper in possession, with Sunderland defender Matthew Kilgallon cautioned by referee Phil Dowd after just three minutes for tugging at Norwich skipper Grant Holt as he turned past him.
Another free-kick conceded five minutes later led to the opening goal as Robert Snodgrass' set-piece was flicked on by Bradley Johnson, the ball taking a deflection off the arm of Carlos Cuellar before being bundled home from close range by Bassong, with the borderline offside decision going in Norwich's favour.
Sunderland finally tested Mark Bunn in the 28th minute as Sebastian Larsson pulled a corner back to the edge of the box to Danny Rose, who fired in a low effort that the Norwich goalkeeper did well to keep hold of. The game became a little scrappy as the half progressed but the Canaries would double their lead eight minutes before the break.
Bradley Johnson played a through ball into the run of Pilkington, who was played onside by Kilgallon, and the winger ran through on goal before rounding Cuellar and coolly slotting past Simon Mignolet.
With just one minute remaining before half-time, Sunderland hauled themselves back into the game.
Adam Johnson skipped down the left flank and pulled the ball across to Gardner who arrowed a low effort past Bunn, although the former Blackburn goalkeeper may feel he could have kept it out.
Gardner's effort was the first goal Norwich had conceded in the league at home since Liverpool's 5-2 victory at Carrow Road at the end of September and it meant the Wearsiders went in at the break with renewed vigour ahead of the second period.
Sunderland boss Martin O'Neill introduced striker Connor Wickham at half-time with Steven Fletcher making way and the visitors started the second half brightly, with only a clearance from Ryan Bennett stopping Wickham from tapping home to make an immediate impact.
Where Norwich had looked calm and assured in possession for the majority of the first half, Gardner's goal seemed to knock them off their stride and they played a number of lacklustre passes in the early stages of the second 45 minutes.
After weathering a Sunderland storm, Chris Hughton's side started to reassert themselves on the game and only a flying stop from Mignolet prevented Pilkington scoring his second from just outside the box.
Sunderland should have been level moments later as a rasping Gardner free-kick rattled the post and Kilgallon turned the rebound over the bar from six yards out.
Bunn's goal continued to live a charmed life as the goalkeeper's punched clearance from a Sunderland corner fell straight to Gardner, whose effort was cleared off the line by Javier Garrido.
Stephane Sessegnon was the next Sunderland player to have a chance to level matters but he shot straight at Bunn who had stayed on his feet.
The Benin international again came close on 73 minutes when the Norwich defence allowed an innocuous ball into their penalty area to bounce and Sessegnon's overhead kick flew wide.
Wickham had the ball the back of the net with 13 minutes remaining after Bunn spilled Rose's long-range effort, but the former Ipswich man was flagged offside.
With his side still struggling to contain the visitors Hughton introduced Elliott Bennett from the bench in place of Snodgrass to offer more pace in attack.
Holt then had a great chance to punish the profligacy of their visitors but a heavy touch after being played through by Wes Hoolahan meant Mignolet could collect the loose ball, before Elliott Bennett found Holt with a decent cross a minute later only for the Canaries captain to blaze a difficult chance over the bar.
O'Neill threw on Fraizer Campbell and David Vaughan in the closing stages but Norwich held on to extend their unbeaten league run to eight games and move six points ahead of Sunderland in the table.