Skipper Luka Milivojevic fired Crystal Palace to the brink of Premier League safety from the penalty spot as Newcastle were made to pay for missed chances.
Milivojevic’s 81st-minute spot-kick sealed in 1-0 away win in a tight affair at St James’ Park on a day when victory for either side was likely to effectively end their fears of being dragged into the relegation battle.
However, the Magpies’ leading scorer Salomon Rondon had earlier passed up a series of golden opportunities to put his side ahead in front of a crowd of 51,926, and the wait to secure their top-flight status goes on.
The Magpies, who were bidding for a sixth straight home win in the league for the first time since the 2003-04 season, now have 35 points with five games remaining, while their opponents are four better off.
Rondon glanced a sixth-minute header well wide from a Matt Ritchie corner and goalkeeper Vicente Guaita fielded Isaac Hayden’s 11th-minute shot after he had exchanged passes with Rondon on the edge of the box.
The Venezuela international had the ball in the net three minutes later but was adjudged to be offside with Newcastle improving rapidly after a tepid start.
Guaita had to beat away Ritchie’s well-struck near-post drive, but Palace did well to stem a mounting tide.
Wilfried Zaha smashed a 25th-minute cross across the home side’s six-yard box and showed commendable perseverance to make space for himself, but Guaita had to save from Ki Sung-yueng three minutes later after he drilled a skidding effort towards goal.
However, the keeper was mightily relieved seconds later when Rondon pulled away from his marker to meet DeAndre Yedlin’s deep cross, only to power his header over, and he really should have scored 11 minutes before the break after defender James Tomkins slipped inside the box, but he could not find a way past Guaita.
Palace thought they had taken a 42nd-minute lead when Tomkins swept home Milivojevic’s corner, but referee Stuart Attwell eventually ruled it out on the advice of his assistant, who had spotted James McArthur in an offside position in front of keeper Martin Dubravka.
Jeffrey Schlupp headed across goal from Zaha’s driven cross three minutes after the restart, but Ayoze Perez saw a 52nd-minute effort deflected wide and Florian Lejeune headed straight at Guaita from the resulting corner as the Magpies responded.
Yedlin blasted a piledriver just wide of the keeper’s right post six minutes later with the Eagles pinned back deep inside their own half, but again they hit back to keep the Magpies defence on their toes.
Aaron Wan-Bissaka took the ball off Rondon’s toes as he prepared to shoot after controlling Perez’s 68th-minute cross, but substitute Christian Benteke wasted a gilt-edged opportunity 12 minutes from time when he mis-kicked from Andros Townsend’s inviting cross.
However, Palace got their chance with nine minutes remaining when Yedlin’s clumsy challenge on Zaha handed Milivojevic the chance to win it from the spot, and he made no mistake.