Premier League: Sunderland 0 Crystal Palace 0
Gus Poyet's men dominated Saturday's game, but were unable to find the goal that would have lifted them out of the relegation places.
Sunderland pressured the away side throughout, with Adam Johnson looking particularly lively as he provided Steven Fletcher with plenty of quality deliveries into the box.
Johnson found Fletcher after just three minutes with a brilliant whipped ball, but the Scotsman headed wide to leave Sunderland to rue a missed opportunity at the bottom of the table.
The result means Sunderland have won only twice in eight Premier League home games, while Tony Pulis' Palace side are winless in five top-flight matches on the road.
Johnson posed a threat after three minutes, cutting in from the right and finding Fletcher, but the chance fizzled out.
Adrian Mariappa picked up a booking after seven minutes for a strong challenge on Fabio Borini, giving Sunderland another chance to test Julian Speroni with a free-kick from the left. Marcos Alonso picked up the cleared set-piece on the edge of the box, but failed to find the target.
There were a further two early cautions, first for Joel Ward after just 12 minutes with a high challenge on Sebastian Larsson and then for Liam Bridcutt when he brought down Mile Jedinak three minutes later. The Palace captain then sent the resulting free-kick well over the crossbar from distance.
The home side constantly bombarded Pulis' men with crosses into the box and the pressure almost paid off when Fletcher tried to flick in Borini's low driven delivery, but he was unable to make clean contact.
Phil Bardsley won a free-kick on the edge of the box when Jedinak pulled him down, and the Sunderland defender looked to have kicked out, but escaped unpunished.
After all of Sunderland's dominance, goalkeeper Vito Mannone nearly made a catastrophic error when he slipped trying to clear a simple back pass, but he was let off the hook as the danger was cleared.
Johnson then saw his 40th-minute shot from the left result in a massive scramble in the Palace six-yard box, with the referee eventually blowing for a free-kick to ease the pressure on the away side.
Jozy Altidore replaced Fletcher at half-time after the former Wolves man picked up an injury just before the break and he nearly made an instant impact when he swivelled in the box, but put his left-footed shot wide after 50 minutes.
Another ball into the box from Sunderland was met by Borini, but he could not keep his volley under the crossbar as it sailed well over.
Larsson was replaced by Craig Gardner on the hour mark as Sunderland pushed for the winner and he was booked only two minutes of arriving on the pitch.
The home side continued to push for a crucial goal in the fight to avoid relegation, but were unable to make a breakthrough as the game ended scoreless.