Ayoze Perez scored a late double as Newcastle United produced a remarkable second-half comeback to beat Everton 3-2 at St James' Park and take a huge step towards Premier League survival.
The Magpies had won their last four home games in succession but looked poised for a defeat as first-half efforts from Dominic Calvert-Lewin and Richarlison looked to have the Toffees on course for victory.
Those goals were sandwiched by Jordan Pickford's penalty save from Matt Ritchie in what was a dismal first half from Newcastle. However, its second-half showing could hardly have been more contrasting.
Salomon Rondon gave the side hope with a goal excellently set up by Perez, who pounced on a rebound to level matters before then being teed up by Rondon to lash home a late winner that keeps Newcastle six points above the bottom three.
Questionable goalkeeping from Pickford led to the game's first real chance, the England shot-stopper punching a deflected cross straight to Perez, who could only loop his header over the crossbar.
READ: Leicester City 3 Fulham 1: Vardy reaches landmark in Foxes win
It was poor play at the back at the other end that saw the deadlock broken, however, as DeAndre Yedlin left Lucas Digne unmarked out wide and the Frenchman dinked a cross in for Calvert-Lewin to rise above Jamaal Lascelles and glance into the bottom-right corner.
Thirteen minutes later Newcastle wasted a huge opportunity to level as Pickford spilled a left-wing cross into the path of Rondon and hauled the Venezuela striker to the ground to prevent him levelling matters.
With Pickford appearing to not play the ball, there could have been a debate over whether Lee Mason should have dismissed him, but he made the most of his fortune by keeping out Ritchie's penalty down the middle with his legs.
And the Newcastle winger's profligacy was swiftly punished by Everton, who doubled its lead as Ritchie was outmuscled by Andre Gomes, and Martin Dubravka tipped his pull back to Richarlison, who made no mistake from point-blank range.
Newcastle improved after the interval and Rondon looped an effort over the onrushing Pickford before he halved the deficit with a fine volley after combining superbly with Perez.
ALSO READ: Southampton 2 Tottenham 1: Ward-Prowse brilliance leaves Spurs stunned
Chances at either end for Paul Dummett and Calvert-Lewin were spurned, with the latter paying the price for not putting the game to bed when Perez followed up Miguel Almiron's long-range effort.
Dummett saw a near-post strike superbly saved by Pickford, but the former Sunderland keeper could do nothing to prevent Perez from completing a terrific turnaround after Everton failed to clear a corner.
What does it mean? - More misery for Silva at fortress St James' Park
A fifth win in a row at home appeared extremely unlikely at half-time, but Newcastle displayed the kind of spirit that you need in a relegation fight and that appears desperately lacking at Everton after its second-half collapse. Its Merseyside derby stalemate maybe bought Marco Silva some time, but this meltdown will increase calls for his exit.
Perez produces the goods
Much maligned for his performances during Newcastle's early-season struggles, Perez has been in good form of late and it was he who inspired a comeback that will live long in the memory and should silence his critics for some time.
Pickford well below par
While Pickford should be credited for his penalty save, there is an argument he should not have been on the pitch to make it. Not helped by a defence that lost Seamus Coleman to illness in the warm-up, Pickford was shaky throughout and was at fault for the equaliser, parrying Almiron's ambitious effort straight to Perez.
Newcastle will look to edge closer to the magic 40-point total when it visits Bournemouth, while Everton welcomes Chelsea to Goodison Park a day later.