Below-par Burnley opened the door for Palace to end a run of three straight defeats on a disappointing day at Turf Moor.
Wilf Zaha gave the Eagles something to hang onto with his second goal of the season in first half stoppage time.
And after Chris Wood spurned a glorious chance to turn the game on its head midway through the second half, Jeff Schlupp sealed The Londoners' fourth straight win over the Clarets.
Robbie Brady made only his second start of the campaign, coming in to play on the right flank as Jeff Hendrick moved inside to cover the suspended Ashley Westwood.
And a crunching, but fair challenge on Scott Dann inside the opening quarter hour showed the Irishman meant business.
Meanwhile, as the sides probed for openings in the early exchanges, Jack Cork sent a sighter wide of goal and Luka Milivojevic curled a free kick over the bar from the corner of the penalty area.
Dwight McNeil was next to try his luck, firing straight at Vicente Guaita from a central position.
The best move of the half came on the half hour mark, when Brady exchanged passes with Wood and spotted Ashley Barnes in the box with a sublime ball.
However, the Clarets striker was unlucky to see the ball cannon off his foot after taking the ball down with a clear sight of goal.
A scrappy half of few chances and plenty of stoppages was halted again nine minutes before the break, when the hamstrung Charlie Taylor was replaced by Erik Pieters and headed forlornly straight for the dressing room.
And moments later, VAR intervened as Palace thought they had taken the lead.
Patrick van Aanholt’s cross eventually fell to Jordan Ayew, who some how mis-cued from four yards out with just Nick Pope to beat.
Incredibly, he got a second bite at the cherry as the same players combined for the Ghanaian to slot home, but this time van Aanholt was flagged as he cut the ball back from an offside position – and following the obligatory delay to proceedings, VAR referee Anthony Taylor upheld the on-field officials’ decision.
However, that only delayed things, as Palace struck one minute into the additional three minutes at the end of the half.
Most of Palace’s probing had come, as expected, through talisman Zaha. And the livewire winger jinked on the outside of Phil Bardsley to squeeze the ball under Pope at his near post and give the visitors the lead.
Burnley responded straight from the restart and Pieters drilled a rising drive into the side netting at the second attempt as Palace could only half clear Brady’s deep cross.
But the Clarets were still struggling to find a higher gear, and the frustrations almost boiled over when Bardsley was carded for an innocuous foul on Zaha that incensed the right back.
That fired up the crowd too, and rattled Palace immediately gifted Burnley a golden chance, when Chiekhou Kouyate’s back header put Wood clear. However, the Clarets’ joint top scorer went for power and blazed his effort agonisingly off target.
Burnley were now posing more problems, and when a corner dropped invitingly in the six-yard box, all that was lacking was a Burnley foot to hook the ball home.
Jay Rodriguez and Aaron Lennon were both thrown into the fray as the clock ticked down to try and make the mounting pressure pay.
But 13 minutes from time, Palace settled the game when sub Jeff Schlupp pounced on Ben Mee’s miscued clearance and fired through Pope’s legs.
McNeil forced a parry from Guaita following good work from Lennon, as Burnley sought a lifeline.
But that was as good as it got as Palace ended their five-game winless streak with a welcome victory on the road.
BURNLEY: Pope, Bardsley, Tarkowski, Mee, Taylor (Pieters 36), Brady (Lennon 77), Cork, Hendrick, McNeil, Wood, Barnes (Rodriguez 62).
Booked: Bardsley, McNeil
Subs: Hart, Lowton, Gibson, Drinkwater
PALACE: Guaita, van Aanholt, Milovojevic, Tomkins, Dann (Sahko 59), Kouyate, Ayew (Benteke 83), Townsend (Schlupp 69), Zaha, McArthur, Kelly.
Subs: Hennessey, McCarthy, Camarasa, Riedewald.
Ref: P Bankes