Martin Olsson scored in stoppage time to earn Norwich a vital 3-2 win over a Newcastle side now staring at Premier League relegation.
Aleksandar Mitrovic’s penalty four minutes from time had looked like rescuing a point for the Magpies to keep them three points behind their hosts.
But Olsson’s precision finish leaves Rafael Benitez’s side six points adrift of safety with seven games remaining.
The Canaries, who can further boost their survival bid against relegation rivals Crystal Palace and Sunderland in the next two weeks, appeared to have thrown victory away.
Mitrovic came off the bench to cancel out Timm Klose’s first Norwich goal.
Dieumerci Mbokani scored three minutes later to restore the hosts’ lead, but Mitrovic then converted from the spot after Gary O’Neil was penalised for handball.
There was another twist to come as Olsson struck to earn Norwich back-to-back wins for the first time since the turn of the year, when they last won at home against Southampton.
Benitez made five changes for his third match in charge, but Newcastle struggled to string three passes together in the first half.
Goalkeeper Karl Darlow was included after Rob Elliot suffered a knee injury on Republic of Ireland duty and appeared nervous.
Darlow was making his second Premier League appearance and during his first, at West Brom in December, he was at fault for the only goal.
He was beaten by Mbokani after 17 minutes, but the striker was offside when meeting Jonny Howson’s cross.
Darlow’s confidence grew when he denied Mbokani after Naismith’s cut back. The striker should have scored.
Two chances had been spurned and Norwich were allowing Newcastle to creep into the game.
But Newcastle were incapable of testing John Ruddy. Andros Townsend was wasteful and Jonjo Shelvey’s one surge into the box ended with a firm rebuttal from Ryan Bennett.
Cheick Tiote was adjudged to have fouled Mbokani out wide and Robbie Brady’s free-kick was converted by Klose. The 6ft 5ins Swiss defender was unmarked, six yards out.
Tiote did not return for the second half after a frustrating first 45 minutes.
Newcastle should have been level within six minutes of the restart.
Ruddy saved Townsend’s 25-yard shot, but parried the ball to Papiss Cisse, on his first start since December. He screwed a shot wide from six yards.
Townsend, who had an abject first half, repeatedly tried to create something.
Mitrovic, on for Vurnon Anita, shot straight at Ruddy, but then got in front of Ryan Bennett to convert Townsend’s cross.
Newcastle allowed Mbokani to cut in from the left soon afterwards and the striker drilled across goal into the top corner.
Nervous Norwich sat back and Newcastle poured forwards.
Mitrovic headed Shelvey’s cross wide and had another blocked on the line by Bennett.
Referee Mike Dean next did not hesitate in awarding a spot-kick for handball against O’Neil and Mitrovic calmly converted.
Ruddy then scrambled to save a Cisse header.
But Norwich belatedly responded and Olsson struck his first goal since September 2014 after Wes Hoolahan’s fine lay-off.