Marcelo Bielsa’s side, who were beaten by the same scoreline at home to Leicester City on Monday, slumped to 14th place with the loss while Palace moved up to sixth, on 13 points from eight games, just three points behind leaders Southampton.
Scott Dann headed Palace into a 12th minute lead with a thundering header from an Eberi Eze corner.
Leeds thought they had drawn level with a nice finish from Patrick Bamford but the effort was ruled out for a narrow offside by VAR.
After that let-off, Palace doubled their lead with a brilliant free kick from Eze, his first goal for the club, as he struck a 20-metre shot into the top corner.
Bamford did score with a confident drive after being set up by Polish midfielder Mateusz Klich’s headed pass when he buried the ball in the bottom corner for his seventh goal of the campaign.
- READ MORE
- Freakish own goal by goalkeeper gives Wolves crucial win over Leeds United
- Palace's Zaha to stop taking knee before Premier League games
- Magical Aubameyang scores first ever Premier League hat-trick
- Arsenal get welcome injury boost ahead of clash with Leeds
- Leeds beat Palace 2-0 to move into top half
- Man City 4-0 Palace: Double for Stones as City crush Palace to go second
But Palace restored their two-goal advantage just before the interval when Helder Costa’s sliding tackle deflected a low cross from Wifried Zaha inside the near post, confounding Leeds goalkeeper Illan Meslier.
Zaha also had a hand in Palace’s fourth, running at the Leeds defence before slipping the ball to Jordan Ayew who made no mistake.
Leeds have conceded 17 goals this season, more than any other team in the league, an issue Bielsa must urgently address.