Darren Ferguson's men looked poised to sustain back-to-back defeats in England's third tier, but Michael Bostwick popped up with a last-gasp equaliser to salvage a point for Posh, who had previously gone behind to goals from Vadaine Oliver and Ajay-Leitch Smith.
The contest came alive in the second half following a goalless opening 45 minutes. Danny Kedwell's 47th-minute penalty opened the scoring, before both teams were reduced to 10 men following dismissals to Gary Alexander and Charlie Lee within a minute of each other.
Kyle McFadzean levelled matters soon after, before Billy Clarke gave Richie Barker's men the lead. The advantage would be short-lived, though, as Leon Legge made it 2-2 three minutes later but Clarke was on-hand nine minutes from time to seal the victory.
Goalkeeper David Button was sent off after only 25 minutes for the visitors for a challenge on striker Nahki Wells, and the Bantams made their numerical advantage count as goals from James Hanson, Wells and Gary Thompson all secured the points.
Results in full: Bradford City 4-0 Brentford, Carlisle 0-1 Port Vale, Crawley Town 3-2 Gillingham United, Crewe Alexandra 2-2 Peterborough United, MK Dons 1-1 Swindon Town, Rotherham United 3-1 Sheffield United, Tranmere Rovers 0-0 Stevenage