Quick-fire first-half goals from Hope Akpan and James Vaughan put the Bantams firmly in charge but former Bradford loanee Alex Gilliead reduced the deficit and John McAtee equalised with 16 minutes left.
Goalkeeper Luke McGee, making his Bradford debut on loan from Portsmouth, pulled off a crucial early save to deny George Miller.
Vaughan hit a post for the home side from Matt Palmer's cross before they struck twice in the space of three minutes.
Eoin Doyle's pass picked out Akpan to steer the first past Rory Watson in the 17th minute. Then Connor Wood's cross was turned home by Vaughan as Scunthorpe were temporarily down to 10 men with defender Jordan Clarke getting treatment.
Watson denied Vaughan another from a close-range header before Scunthorpe pulled one back as Gilliead beat McGee from 25 yards.
Scunthorpe came close to equalising before half-time but McGee saved his new club again by keeping out Miller's header from a Gilliead cross.
The visitors dominated the second half and were rewarded with a second goal after 74 minutes as McAtee turned Paudie O'Connor before firing home from the edge of the box.