Palace boss Roy Hodgson was forced to make two changes to the XI that started the 3-1 defeat at Everton on February 8 as the injured James Tomkins and ill captain Luka Milivojevic were replaced by Scott Dann and Cheikhou Kouyate.
Newcastle boasted only one change from the 4-0 drubbing against Arsenal last week, as Fabian Schar came in for the injured Ciaran Clark at centre-back.
Palace went close to taking the lead in the seventh minute when Miguel Almiron managed to slide the ball out of play before Wilfried Zaha could reach a Jordan Ayew cross and from the resulting corner Martin Dubravka pulled off a superb save to deny Gary Cahill.
Palace continued to look a threat off set-pieces and on 16 minutes it was Dann’s flick header towards goal which again forced a great save out of Dubravka.
Newcastle’s first attempt of note came on 18 minutes when Joelinton stole a yard on James McCarthy and lashed a fierce strike which forced a flying save from Vicente Guaita.
Christian Benteke should have put Palace in front on 22 minutes when he got on the end of a Van Aanholt free-kick only to inexplicably send his header wide from just three yards.
Palace continued to look the more likely to score and they went close again on 33 minutes, but Ayew sent his header straight down the throat of Dubravka.
Palace got the goal their play merited right on half-time when Van Aanholt sent a 25-yard free-kick into the net, although Dubravka might feel he should have done better in trying to keep it out.
The hosts should have scored twice in the opening three minutes of the second half, but Ayew somehow hit a close-range effort wide off the post with the goal at his mercy, before Cahill sent a close-range header just wide.
Newcastle almost made Palace pay for their profligacy on 67 minutes as Schar hit a strike from 30 yards which took a deflection off James McArthur and forced a fine save from Guaita.
Ayew spurned another good chance at the other end on 71 minutes when Zaha again put the ball on a plate for him inside the area, but his effort was too close to Dubravka who beat the shot to safety.
Zaha looked set to wrap things up in the 90th minute but he was brought down by Valentino Lazaro, who was subsequently red-carded for a professional foul.
The win moves Palace up to 13th place on 33 points, while Newcastle are two points and a place behind them.