The visitors took the lead in the eighth minute when Christian Benteke's low strike beat Nick Pope at his near post.
Ben Mee's equaliser arrived in the 19th minute as the Clarets' skipper got on the end of Ashley Westwood's corner to head home.
Chris Wood turned the tables in the home side's favour with 27 minutes on the clock.
The New Zealander, who netted twice for his nation during the international break, found the inside of the post with a header to bring up his 50th Premier League goal.
Benteke drew Palace level in the 36th minute when finding the net with a first time effort after Conor Gallagher had squared the ball for the striker inside the penalty area.
And there was still time for a fifth first half goal as Patrick Vieira's side restored their lead. Pope repelled Joachim Andersen's header from a corner before England Under 21 international Marc Guehi converted the rebound from close range.
The hosts were out of the blocks quickly after the break and equalised in quite spectacular fashion just four minutes into the second half.
James Tarkowski flicked on Johann Berg Gudmundsson's delivery and Maxwel Cornet, with his fifth goal for Burnley, rifled the ball into the roof of the net on the volley.
The hosts had a glorious opportunity to snatch all three points and climb out of the relegation zone in the final minute of stoppage time.
However, substitute Matej Vydra was denied by the fingertip of Vicente Guaita after bringing Westwood's ball down inside the box.