Sunderland spurned a chance to close the gap on the top two in Division One but it was not for the lack of trying against stubborn Rotherham at the Stadium of Light.
Chances aplenty came and went for Mick McCarthy's side, but no-one was able to add the all-important finishing touch and the home side were left frustrated.
Stewart Talbot fired wide in the opening minute for the visitors who appeared to settle quicker.
But Marcus Stewart soon warmed Rotherham keeper Mike Pollitt's hands from 20 yards as Sunderland set about extending their six-match unbeaten run.
Kevin Kyle forced a save out of Pollitt with a header from close range and then scuffed another effort wide, while Tommy Smith proved a nuisance to Rotherham with a series of crosses from the left.
Rotherham striker Paul Warne fired the Black Cats a warning in the 25th minute, his 20-yard shot whistling over Mart Poom's crossbar.
Smith, John Oster and Julio Arca all sent in dangerous crosses, while Kyle headed over again from six yards and Darren Williams fired over from distance.
Visiting striker Darren Byfield was denied by Poom just before half-time.
There was no let-up after the restart, Gary Breen heading over and Oster unable to beat Pollitt from 20 yards.
Crowd frustration
Colin Healy got in on the act to drag a shot from the edge of the box wide.
Martin Butler spurned a rare chance for the Millers, firing wide from close range and then blazing over from distance.
The home crowd's frustration was becoming apparent as Shaun Barker blocked Arca's effort from the edge of the area.
Minto went close again for the visitors, pulling his shot wide when well placed the edge of the box.
Substitute Sean Thornton then found Kyle, but the beanpole striker was denied by Pollitt, and Michael Proctor lashed his shot over the crossbar as time ran out for the home side.
Sunderland: Poom, Arca, McCartney, Breen, Williams,
Tommy Smith, Whitley, Healy, Oster, Kyle, Stewart. Subs: Ingham, Proctor, Thornton, Quinn, Bjorklund.
Rotherham: Pollitt, Minto, Talbot, Swailes, Scott, Warne, Shaun Barker, Robinson, Sedgwick, Byfield, Butler. Subs: Montgomery, Richard Barker, Hurst, Mullin, Monkhouse.
Referee: C Foy (Merseyside).