Bradford's bid to beat the drop was handed a huge tonic courtesy of a fine win at Bristol City, while Millwall and Crewe played out a stalemate.
It all looked to be going to script when Phil Jevons delighted the Ashton Gate faithful in the 13th minute, in putting the home side ahead, but it was a lead they failed to build on.
By half-time Billy Paynter had Bradford level when he struck just before the interval and not long after, in the 49th minute, a rampant Bantams were ahead thanks to Moses Ashikodi.
Bradford increased their advantage through midfielder Steven Schumacher in the 55th minute, rendering Alex Russell's injury time effort mere consolation.
Gary Johnson's City side stay in second place despite the defeat, while a crucial three-point haul has taken Bradford out of the drop zone.
In League One's other game Millwall and Crewe played out an entertaining 2-2 draw at The Den, which saw the home side score an injury time equaliser.
Crewe took the lead on the half hour mark thanks to Michael Higdon's effort but Darren Byfield's goal on the stroke of half-time ensured parity was restored at the break.
Dario Gradi's Crewe must have thought they had wrapped up the points when Darren Moss struck with just six minutes remaining but Millwall's giant striker Poul Hubertz had other ideas in injury time.