Gary Issott’s development side edged out Crewe Alexandra by the odd goal in five to stretch their winning run to three straight games.
Jake Gray grabbed a brace to continue his fine goalscoring run this season before Jacob Berkeley-Agyepong scored what proved to be the winner for his side, which helped them to second spot in the table.
However they had to do things the hard way as they fell behind on 35 minutes when a long ball over the top left the Palace defence napping and Andrew Brown raced onto it to finish well when faced one against one against David Gregory.
But just as it looked as though Palace would go into the break trailing, Gray managed to restore parity on the stroke of half-time. Berkeley-Agyepong swung over a free-kick that hit the crossbar, and Gray was quickest to react to it and force the ball over the line.
Either side of half-time Palace had a penalty shout turned down when Gray was bundled over in the box, and Gregory did well to deny the hosts when he did well to stop a one-on-one, but eight minutes after the interval Gray was celebrating again.
After some dallying in the Crewe defence, a fine through-ball by Aaron Bissaka was raced onto by the winger who powered the ball into the back of the net to register his sixth goal in eight under-21 outings this season.
Palace looked the more likely to find another goal and Connor Dymond went close after a corner, but on 69 minutes they got the cushion they deserved when some Berkeley-Agyepong sped down the left, cut inside and finished despite being clattered in the process of scoring and was forced off injured.
That act of bravery would prove pivotal though as a minute from time the Railwaymen pulled a goal back when Jon Guthrie headed in a free-kick to give Palace a few nervy moments towards the end of the game, but they held on to collect another hard-fought victory.
Palace: Gregory, Wynter, Croll, Pepe-Ngoma, Sturgess, Berkeley-Agyepong (Fundi 71), Hoare (O’Dwyer 82), Dymond, Bissaka, Gray, Hall (Lokilo 63). Subs not used: Pain, Breimyr.