Simon Grayson's team are now eight points clear of third-placed MK Dons with six games remaining after three second-half goals at Valley Parade.
Bradford's Christopher Routis was dismissed after 14 minutes, but it took in-form Preston until a minute after half-time to take the lead when Paul Gallagher converted the rebound after Ben Williams had saved his penalty.
Daniel Johnson and Chris Humphrey then made it 3-0 to ensure Preston made it 13 League One games unbeaten. Bradford, meanwhile, slip to ninth - six points off the play-offs.
Chesterfield took full advantage of Bradford's defeat by beating Crewe Alexandra 1-0, while Rochdale and Fleetwood Town moved above Phil Parkinson's team with home victories that came in very different ways.
Fleetwood - inspired by a David Ball double - romped past beleaguered Yeovil Town 4-0 at Highbury Stadium, while Rochdale had to wait until the 95th minute for their breakthrough, Calvin Andrew heading home to secure a 1-0 win over Port Vale.
Lee Johnson's Barnsley wasted their chance to stay in touch with the play-off hopefuls as they gave up the lead to lose 3-1 at Colchester United.
Yeovil are doomed to drop into League Two, but above them, just four points separate nine teams all desperate to avoid relegation.
Notts County - who drew 0-0 with Coventry City - and Crewe join Yeovil and Colchester in the bottom four, with Leyton Orient above Crewe on goal difference only after their thrilling 3-3 draw with Gillingham.
Crawley Town lifted themselves out of the bottom three with a 2-0 victory over Oldham Athletic, while Walsall drew 0-0 with Peterborough United.
Get the best features, fun and footballing frolics straight to your inbox every week.