Rotherham moved into the League Two promotion places with victory at Bradford in a tense Yorkshire derby.
The hosts twice had efforts disallowed in a scrappy first half - James Hanson's header was chalked off for a push on Claude Davis and Garry Thompson struck from an offside position.
But after the break Lee Frecklington's penalty gave Rotherham the lead after Michael Nelson handled in the area.
Kieran Agard struck late on into an empty net with the home keeper forward.
Minutes earlier Bradford, who also saw assistant manager Steve Parkin sent into the stands in the opening period, almost grabbed a dramatic equaliser when Alan Connell saw his strike creep just wide.
However, Rotherham - now guaranteed a play-off spot - move above Burton Albion into third place on goal difference with just two games to go.
Meanwhile Bradford remain in the final play-off berth, just a point ahead of Exeter following their defeat in front of the largest crowd for a League Two match this season.
VIEWS FROM THE DRESSING ROOM
Rotherham United manager Steve Evans tells BBC Radio Sheffield:
"It was a great three points, but that's all it is at the end of the day.
"If we don't go and look after Plymouth, the journey up here (to Bradford) probably won't mean as much.
"If we think we're going to go and have an easy trip at Plymouth we're kidding ourselves.
"We're meeting a Plymouth side in form, but at the same time a Plymouth team that are now safe (from relegation)."
Sorry, we were unable to load match stats, please try again.