The Eagles found themselves trailing 2-0 within the first 23 minutes, but four second half goals turned the game on its head and saw Richard Shaw’s side leapfrog Queens Park Rangers at the summit.
Things began badly though for the visitors as they found themselves a goal behind within the first minute when Kadeem Harris latched onto a through-ball and fired past Joe Tupper, and the task was made harder on 23 minutes when Cameron Coxe centred for Rhys Healey to double the lead and hand Palace a mountain to climb.
There were indicators before half-time that showed Shaw’s side weren’t dead and buried as Levi Lumeka forced Lee Camp into a pair of good saves, and after the restart the same two players were at it again as the veteran goalkeeper denied Lumeka for a third time when he was put through one-on-one.
But on 52 minutes, Palace found a way past Camp when Jordon Mutch – against his former club – crossed for Giovanni McGregor to score his first of the season, and just three minutes later it was all-square when Michael Phillips picked the ball up on the edge of the box and thundered a venomous effort into the bottom corner.
The momentum had shifted and the Eagles smelt blood, and they got themselves in front on 72 minutes when Lumeka again caused problems and his dangerous cross came off Bluebirds defender Connor Young before finding its way into the net.
And in the final minute, the three points that saw them leap to the top of the table were confirmed when Freddie Ladapo found himself at the end of a counter-attack, and he finished it off to register his third of the campaign and complete a fine comeback for the visitors.
Palace: Tupper, Wan-Bissaka, Phillips, Brown, Mitchell, McGregor, Kirby (Flanagan 79), Lokilo, Mutch, Lumeka, Ladapo. Subs not used: Webber, Ossai, Robertson, Coker.