The Eagles had kept clean sheets in their previous eight home games and looked well on their way to a vital win in their battle against relegation after first-half goals from Darren Ambrose and Neil Danns.
But Reading hit back before the break through Shane Long's penalty, as Julian Speroni was beaten on home turf for the first time in more than 13 hours.
And much like the buses around this part of south London, you wait ages for one goal and three come along at once.
After Ambrose had seen a penalty saved by Alex McCarthy, Jimmy Kebe crashed in an equaliser for Reading.
Substitute Jermaine Easter put Palace back in front but Noel Hunt's header secured a point for the play-off chasing Royals.
Source: PA
Source: PA