Grant Holt scored two headers as injury-hit Newcastle slumped to their third defeat in four top-flight games.
Norwich led when Wes Hoolahan's effort was diverted in by Danny Simpson, but Demba Ba steered in an equaliser.
The home team scored twice early in the second half from headers by Holt and Steve Morison.
Newcastle's Dan Gosling was sent off for a foul on Russell Martin but Ba fired in to cut the deficit, before Holt nodded in the clincher.
There was some poor defending on show from both sides, with Newcastle's makeshift back four - without the injured Steven Taylor and Fabricio Coloccini - left exposed. But Norwich were worthy winners and moved into the top half of the table.
Gosling was his team's main villain though, having been brought back into a depleted midfield, as he made the mistake that led to Norwich going 3-1 up, before being sent off soon after.
Referee Martin Atkinson was also in the spotlight for two key decisions in the first half. After Norwich were harshly denied a spot-kick when Davide Santon appeared to handle a Kyle Naughton cross, the Canaries went 1-0 up from a corner that was hotly disputed by Newcastle.
Ultimately, though, the visitors only had themselves to blame for their defensive errors as they conceded three goals from set-pieces and were unsettled by the physicality of Holt and Morison.
Newcastle's back four - which has been so settled this season - was unrecognisable. Santon was drafted in at left-back and Ryan Taylor switched to right-back. James Perch and Danny Simpson were paired together in the centre.
Norwich soon began imposing themselves on that patched-up defence with Holt having their best early chance, only to see it blocked by Simpson.
Newcastle were relieved again when Norwich had their penalty claim for handball denied. But the visitors were looking sharp on the break and home keeper John Ruddy had to tip wide a deflected strike from Yohan Cabaye.
Norwich eventually earned a deserved lead after they were awarded a controversial corner, when Tim Krul was adjudged to have carried the ball out after catching it.
From that corner, Andrew Crofts' first effort was blocked and, in the scramble that followed, Hoolahan's touch forced Simpson to divert the ball into his own net.
Ba promptly equalised after Cabaye's beautiful chip over the top. The Newcastle striker timed his run perfectly then, when one-on-one with Ruddy, guided the ball in neatly for his 10th Premier League goal in as many games.
Soon after the break, Ba came close to a second as his shot from close range at a tight angle - following Shola Ameobi's cross - skimmed the bar.
A neat short-corner routine caught Newcastle out though. Holt's first header from point-blank range was saved low down by Krul, but the Newcastle goalkeeper had no chance as Holt headed in - with the help of the bar - at the second attempt.
A second Norwich goal in four minutes arrived after some dire Newcastle defending. Gosling gave the ball away with a sloppy back-pass, allowing Crofts to curl in a cross that the unmarked Morison powered in with a firm, 12-yard header.
Gosling's plight worsened when he was soon shown a red card for a foul on Martin.
But Norwich's afternoon suddenly became less comfortable as Zak Whitbread gave away possession close to the halfway line, allowing Ameobi to thread forward a pass for Ba, who finished from 18 yards.
The win was finally safe for Paul Lambert's battlers as Holt connected, on the edge of the six-yard box, from Bradley Johnson's delivery.
Norwich manager Paul Lambert: "I thought we played very well and we deserved to win. Grant Holt is as important as he was two years ago when I joined.
"Grant and Steve Morison were excellent. I'm delighted with everyone's contribution.
"It was a penalty [in the first half]. Davide Santon did everything but catch it, but the linesman, for some reason, never saw it."