The hosts applied intense pressure in the closing stages and were rewarded, first with Gouffran’s close-range finish from DeAndre Yedlin’s cross and then Gayle’s even later winner.
Victory lifted Newcastle up to third in the table from ninth and denied Norwich top spot, which they were set to occupy as they took a 3-2 lead into stoppage time.
Gayle could have put the hosts in front at least twice before he opened the scoring from Matt Ritchie’s first-half cross, but Norwich – who had rarely threatened – levelled through Dorrans’ penalty moments before half-time after Gouffran had fouled Robbie Brady in the box to concede the spot kick.
The visitors then became increasingly dangerous on the counter-attack and Jerome curled them into the lead before Murphy’s deflected strike looked sure to have sealed a Canaries victory.
Newcastle United manager Rafael Benitez:
“I am the kind of manager who gets excited, but especially inside because I am really proud when I see the team reacting. I am really proud of them.
“Some people will jump or run or whatever, but I am happy inside because I think it’s something that’s difficult to achieve.”
Norwich City manager Alex Neil:
“This seems to be a strange place for me because the twice I have been here, the games have been probably two of the most bizarre games I have ever been involved in as a player, a manager, anything.
“We got ourselves into a position where we were 3-1 up, comfortable and then we concede a goal, and then we have got 90 seconds to see the game out.
“It’s 3-2 with 90 seconds left on the clock and we don’t defend the box well enough. It really is as simple as that.”
Match ends, Newcastle United 4, Norwich City 3.
Second Half ends, Newcastle United 4, Norwich City 3.
Attempt saved. Jonny Howson (Norwich City) right footed shot from outside the box is saved in the bottom left corner.
Goal! Newcastle United 4, Norwich City 3. Dwight Gayle (Newcastle United) left footed shot from the centre of the box to the centre of the goal.
Goal! Newcastle United 3, Norwich City 3. Yoan Gouffran (Newcastle United) header from the centre of the box to the centre of the goal. Assisted by DeAndre Yedlin with a cross.
Attempt blocked. Matt Ritchie (Newcastle United) left footed shot from outside the box is blocked.
Substitution, Newcastle United. Christian Atsu replaces Paul Dummett.
Jonjo Shelvey (Newcastle United) wins a free kick on the right wing.
Foul by Robbie Brady (Norwich City).
Foul by DeAndre Yedlin (Newcastle United).
Robbie Brady (Norwich City) wins a free kick in the defensive half.
Ciaran Clark (Newcastle United) wins a free kick in the defensive half.
Foul by Nélson Oliveira (Norwich City).
Dwight Gayle (Newcastle United) wins a free kick on the left wing.