Bradford recorded their second succesive league win but they were handed a late scare by Rotherham.
Omar Daley gave the Bantams the lead when he raced into the box and fired
in an unstoppable 16-yard shot.
They doubled their advantage when Alex Rhodes drove in Joe Colbeck's cross before Ryan Taylor brought The Millers back into the game from close range.
Lee Bullock headed in from another Colbeck cross, before O'Grady set up a nervous finale with a near-post finish.
Bradford: Loach, Starosta, Wetherall, Moncur, Heckingbottom, Colbeck, Daley (Topp 77), Bullock, Rhodes (Nix 75), Johnson, Thorne (Conlon 90).
Subs Not Used: Williams, Penford.
Goals: Daley 15, Rhodes 17, Bullock 44.
Rotherham: Warrington, Joseph, Coughlan, Sharps, Tonge, Ross, Danny Harrison, Newsham (Yates 72), Hudson, Taylor, O'Grady.
Subs Not Used: O'Donnell, Peter Holmes, Pettigrew, Mills.
Booked: Newsham, Joseph, Ross.
Goals: Taylor 29, O'Grady 84.
Ref: Danny McDermid (England).