Roberts, a revelation since his arrival from Blackburn in January, was shown a straight red card moments before the half-time whistle after catching Jonathan Parr with an elbow. It looked a harsh decision by referee Andy D'Urso.
It looked like Reading might be suffering a promotion hangover as Wilfried Zaha gave Palace a 14th minute lead. But Kaspars Gorkss equalised six minutes later.
Adam Le Fondre, a half-time substitute for Hal Robson-Kanu following Roberts' dismissal, put the Royals in front eight minutes after the resumption but Glenn Murray dented their title aspirations with 14 minutes remaining.
The draw placed Reading four points clear of second-placed Southampton ahead of the Saints' evening kick-off against play-off hopefuls Middlesbrough at the Riverside Stadium.
Reading boss Brian McDermott made one change to the side that began the 1-0 victory over Nottingham Forest on Tuesday night that sealed promotion to the Premier League.
Robson-Kanu was back after a spell on the sidelines to start on the wing, in place of the injured Jimmy Kebe.
The only other change to the squad saw Jay Tabb also return from injury to replace Benik Afobe on the bench.
Palace made three changes with Kyle De Silva, Darren Ambrose and Murray coming in for Nathaniel Clyne, Chris Martin and Antonio Pedroza, who kept his place in the squad as a substitute.
Robson-Kanu headed narrowly over the crossbar in the 12th minute.
Palace stunned the Madejski Stadium two minutes later by taking the lead and it was a wonderful passing move from Dougie Freedman's side, rounded off by a 12-yard finish from Zaha after being teed-up by Murray.
But the lead was shortlived as Gorkss levelled things up after 20 minutes.
It came after a huge goalmouth scramble which saw two clearances off the line before the big defender headed the ball into the net.
Palace were forced to make a change in goal after 25 minutes after Julian Speroni injured a hand after coming to collect a corner. Lewis Price replaced the Argentinian.
Another injury five minutes later forced off Paul McShane so Matt Parsons entered the fold.
Murray clipped the crossbar with a volley from the edge of the box moments before Roberts was sent off.
A lively run from Zaha was thwarted by Adam Federici at the start of the second half before Ambrose stung the Reading goalkeeper's palms with a long-range effort.
The 10-man Royals took the lead in the 53rd minute when Le Fondre headed home Noel Hunt's cross from six yards out.
A mazy run from Jobi McAnuff then resulted in Le Fondre heading over, while at the other end Zaha scuffed a shot wide.
Palace equalised in the 76th minute and it was a another superb strike by Murray, lashing the ball home from 12 yards out after Reading failed to clear a corner.
McAnuff curled an effort wide with the final chance of the game.