Antonio Conte’s side had won their past 10 league games at Stamford Bridge and had not lost there in any competition since 16 September, but saw that run ended by a battling Eagles side.
The Blues struck first, when Cesc Fabregas turned home Eden Hazard’s cross after five minutes, but they were quickly behind.
Wilfried Zaha produced a fine solo finish to turn and fire home from the edge of the box and, 91 seconds later, set up Christian Benteke to put Palace ahead with a delicate dinked effort.
Chelsea piled on the pressure and had 24 shots at goal, their second-highest total in 29 league games this season.
But they could find no way past Eagles keeper Wayne Hennessey, who made 11 saves in total to ensure his side won a fourth successive game.