Bradford debutant Kyle Bennett and Preston's Neil Kilkenny were both sent off after a first-half altercation in a goalless draw at Valley Parade.
The incident came after 25 minutes as the pair clashed on the halfway line.
The visitors went close when Joe Garner just missed connecting with Scott Laird's cross and Paul Gallagher chested the ball against the post.
Declan Rudd blocked a shot from Bradford's Aaron McLean, while Josh Brownhill hit the post for Preston.
The result leaves North End in the play-off places but they are now 11 points off second-placed Leyton Orient.
VIEW FROM THE DRESSING ROOM
Preston manager Simon Grayson told BBC Radio Lancashire:
"It was an entertaining 0-0. It wasn't helped by the referee's decision early on to send the two players off.
"There was nothing in it from both players. They've pushed each other in the chest area. You've got to use common sense sometimes and both teams are very disappointed with the decisions.
"That made it a more open game. I think we had the better chances and we could have nicked it."
Bradford City 01 McLaughlan 02 Darby 22 Bates 18 Jones Booked 05 Davies 23 McArdle 32 Bennett Dismissed 24 Doyle (Ravenhill - 81' ) 21 McLean (McBurnie - 72' ) 09 Hanson 28 Reach Substitutes 04 Ravenhill 10 Gray 11 Thompson 12 Jameson 16 McHugh 27 McBurnie 29 Atkinson Preston North End 23 Rudd 32 Wiseman (Humphrey - 73' ) 03 Laird 06 Wright Booked 05 Clarke 22 King 37 Kilkenny Dismissed 19 Welsh Booked 14 Garner 12 Gallagher 30 Brownhill (Keane - 93' ) Substitutes 01 Stuckmann 02 Keane 07 Humphrey 10 Beavon 11 Holmes 16 Buchanan 27 Hume
Ref: Stuart Attwell