Doncaster Rovers finally got their first away league win of the season as their slick football secured a well-deserved victory in south London.
On-loan Sheffield United striker Billy Sharp put them ahead before the break and, when captain Martin Woods added a second just after the hour mark, the result was never in doubt.
Neil Danns produced a horrible miss in the fourth minute, putting the ball wide of an open goal from four yards out after Jose Fonte's shot was spilled into his path by Rovers keeper Neil Sullivan.
Palace went close again on 18 minutes when Alan Lee deftly headed Danny Butterfield's deep cross back to Victor Moses.
The teenager's powerful low drive was only parried by Sullivan but Gareth Roberts was on hand to make a timely close-range block to deny Darren Ambrose.
Doncaster's passing had been slick in the opening 45 minutes as John Oster impressed on his return to his former club.
And he played his part in their 41st minute goal. His pass found rampaging right-back James Chambers, who smartly slipped past Clint Hill, firing in a fine cross which Sharp turned in from close range.
Palace almost found an equaliser just before the half-time whistle but Fonte's header was cleared off the line.
Ambrose, who had scored in the previous six matches, forced Sullivan to claw his shot away in the opening minutes of the second half, while Lee's 56th minute header was headed off the line by James Coppinger.
Just moments later, Fonte was also forced to make a timely intervention when Oster's shot beat Julian Speroni but was hacked away by the Portuguese defender.
But Rovers did move further ahead on 63 minutes and it was a lovely passing move which ended with captain Woods' right-foot shot beating Speroni, who got a hand to the shot but could not prevent it crossing the line.
James Hayter added a final gloss to the scoreline with a third goal on 78 minutes.
Palace's marking was slack and Dean Shiels laid the ball into the path of the striker, who confidently slotted underneath Speroni.