Palace put Burnley under early pressure but the visiting team were first to score, Ashley Barnes converting Stephen Ward’s cross at the second attempt in the seventh minute.
The home side struggled to create chances with the best in the first half falling to Luka Milivojevic, who blasted wide from eight metres.
After the break, Palace upped the pressure and Damien Delaney forced Tom Heaton into a good save.
Burnley secured the win when Andre Gray scored on the counter in the 85th minute.
The win lifted Burnley to 14th on 39 points, eight clear of the bottom three.
Palace are 16th on 38 points.
Man of the match Ashley Barnes (Burnley)