Stalemate hurts Boro
Relegated Doncaster put the brakes on Middlesbrough's npower Championship play-off push as they stood firm to earn a goalless draw at the Riverside.
With the pressure off for the South Yorkshire side as relegation to League One was confirmed by a home defeat to Portsmouth on Saturday, Rovers showed sparks of the one-touch football that had guided them to the second tier four years ago.
Wins for Cardiff and Blackpool had denied Middlesbrough any possible return to the top six, and their profligacy may come back to haunt them with just two more matches remaining this term.
Doncaster might even have snatched all three points if they had been afforded the chance to score from the spot when Chris Brown was felled in the area by Seb Hines in the first half, but no penalty was given.
The Teessiders laid siege to the Gary Woods in the visiting goal in a frantic final minute, but it was not to be for Tony Mowbray's men, who are now four points away from the play-offs.
The tricky Simon Gillett soon began to push and probe from the first minute, his clever interplay allowing James O'Connor to feed Brown, who fudged the header.
Marvin Emnes' cut-back then freed Lukas Jutkiewicz to pick out Julio Arca lingering unmarked at the far post, the Argentinian slamming forcefully against a post.
Rovers' high line then saved them as Jutkiewicz converted Barry Robson's lob only to be declared offside. But Middlesbrough threatened again, O'Connor heading a Robson strike clear of danger.
Woods tipped over Jutkiewicz's bullet header before tidying up a tamer effort from the Polish hitman as Boro continued to press.
Rovers' early verve had long since been neutralised when referee Darren Drysdale invoked the ire of the travelling fans.
As Brown used his strong frame to break into the box, Hines' clumsy trip sent him tumbling in front of Jason Steele, only for Drysdale to wave play on.
The rain started to fall as Doncaster looked for some consolation, Gillett giving Steele a rare feel of the ball with a snapshot from 12 yards.
Boro poured forward before the break but Jutkiewicz slipped on the wet grass when presented with a clear chance to slot past Woods.
With Shelton Martis showing signs of discomfort following the restart, Saunders handed James Husband his senior debut.
The home fans were off their feet as McDonald's close-range header rippled the side netting when it had been easier to score.
Mowbray introduced his recent match-winner at Derby, teenage striker Curtis Main, at the expense of Robson in the 61st minute.
Adam Hammill also emerged to replace the fast-tiring Emnes and the former Barnsley winger might have hoped for a team-mate to do better with his well-worked centre.
James Coppinger blasted his free-kick over the crossbar after being impeded by Nicky Bailey but Boro were determined to score as the final 15 minutes approached.
The intention was there but the cutting edge was sorely lacking as Jutkiewicz waltzed into the box, only to smash harmlessly into the north stand, his trudge back to the centre circle echoing the Boro faithful's frustration.
Husband displayed some attacking nous as he forced a late clearance from Justin Hoyte, but Coppinger could only clip into Steele's gloves from the resulting corner.
Substitute Kevin Thomson flicked a header over Woods' far post as Boro prepared for one final assault.
Hammill rattled the crossbar with a chip, Main saw his quick drive smothered and Thomson dragged across the goalmouth, but Doncaster weathered the storm to earn a first point on Teesside since 1957.
Middlesbrough 0-0 Doncaster: Match Report - view commentary, squad, and statictics of the game as it happened.