Lee Frecklington put the Millers in front from the penalty spot in the 79th minute when referee Mark Haywood ruled that defender Michael Nelson had handled in a tussle for the ball with Alex Revell.
Kieran Agard then put the result beyond doubt with a second goal in stoppage time. Goalkeeper Jon McLaughlin ran to the opposition penalty area to try and force an equaliser when Bradford were awarded a corner, but the visitors' defence cleared the danger and Agard broke away pursued by the keeper to shoot into an empty net.
The Bantams thought they had scored twice in first half with a header from striker James Hanson in the fourth minute and a Garry Thompson strike after 30, but the former was judged to have pushed defender Claude Davis in the back and the latter ruled offside.
Rotherham's best effort of the opening period came in the 36th minute when McLaughlin made a superb save to keep out Revell's point-blank header at the far post.
Towards the end of a scrappy first half littered with free-kicks, Bradford's assistant manager Steve Parkin was sent to the stands, apparently for comments made to the fourth official.