Centre-back Leon Barnett put the Canaries, who had won at Bolton last week, in front in the 31st minute after winger Elliott Bennett skipped into the right side of the penalty area.
Wales forward Steve Morison powered in a bullet header at the start of the second half after the Black Cats were again caught napping at the back, before substitute Kieran Richardson set up a tense finale when he drilled in a late consolation.
Both teams were unchanged from last weekend, when Sunderland had thumped Stoke 4-0 at the Stadium of Light.
After a bright start from the visitors, Morison created space for a shot at the edge of the Sunderland area, but his low strike was well held by Simon Mignolet.
Titus Bramble missed a high ball through the middle, which suddenly released Wes Hoolahan 20 yards out, but he lobbed the ball high into the stands.
Norwich continued to look lively through Anthony Pilkington down the right but, despite their dominance, were unable to further test Mignolet and slowly Sunderland grew into the match.
The visitors moved the ball quickly from the right back into the centre in the 21st minute, but Craig Gardner crashed his 20-yard shot over.
Denmark striker Nicklas Bendtner, on loan from Arsenal, pulled the ball down with a neat touch before firing goalwards, with Canaries goalkeeper John Ruddy getting down quickly to make the save.
Pilkington, who scored at Bolton last weekend, continued to look Norwich’s main threat as he darted into the right side of the area before his cross was blocked.
The Canaries, though, were ahead in the 31st minute.
David Fox fed Bennett into the right side of the Sunderland area with a neat one-two.
The former Brighton winger dashed to the goal-line before cutting the ball back through the six-yard box to Barnett who tapped in from close range.
Sunderland looked for an immediate response, but Stephane Sessegnon ballooned his 20-yard effort wide.
Norwich came out of the blocks quickly at the start of the second half and were rewarded when Morison doubled the host’s lead in the 48th minute.
Pilkington got away down the left, and his run into the box saw overlapping full-back Marc Tierney clip the ball across goal where Wales striker Morison got above Wes Brown to power a header into the roof of the net from six yards.
The Canaries had their tails up now with Bennett drilling wide after more positive build-up by the hosts.
There was then a massive let-off for the hosts when Bradley Johnson’s miskick in the six-yard box gifted the ball to Bendtner at the near post – but the on-loan Arsenal man saw his flick touched across the face of goal by Ruddy.
From the resulting corner, Norwich broke quickly through Russell Martin, who fed Bennett on the left.
The winger cut inside to drill an angled shot at Mignolet, which the Belgian goalkeeper palmed out and Martin’s follow-up was deflected wide.
With 23 minutes left, Sunderland sent on Connor Wickham for Sessegnon, the former Ipswich striker receiving a less than warm welcome from the Norwich faithful.
The £8m signing had a chance to make an instant impact and silence the Barclay End, but headed straight at Ruddy from a corner.
Norwich made a double change in the 78th minute when James Vaughan replaced the hard-working Pilkington and captain Grant Holt came on for Morison.
Vaughan, a summer signing from Everton, dragged his 20-yard shot wide after another quick break by the home side.
Sunderland, though, set up a grandstand finale when Richardson drilled a low, angled shot into the bottom right corner.
Vaughan, who missed the start of the season with a knee injury, looked to be struggling and had to be helped off as Norwich had to see out five minutes of stoppage time with 10 men.
Arsenal and England midfielder Jack Wilshere will be sidelined for a period of between four and five months following surgery to remedy a stress fracture to his right ankle.
Wilshere has not featured for the Gunners in a competitive game this season after suffering the injury in a pre-season friendly against the New York Red Bulls at the Emirates Stadium.