Darren Ferguson's men were beaten 1-0 by the Bantams and played over an hour with 10-men after the dismissal of Shaun Brisley for two bookable offences within a couple of minutes at the Coral Windows Stadium.
Posh were without the services of first choice goalkeeper Bobby Olejnik, who didn't travel due to illness so Joe Day was in between the sticks for Darren Ferguson's men.
Day was called into early action as he made a routine stop to deny Doyle while Adam Reach fired well over the top from distance.
After a patient build-up, Posh created a good shooting opportunity for Tommy Rowe on 14 minutes, but he dragged his left-foot shot wide of the far post.
Experienced midfielder Gary Jones volleyed over from 20-yards as Posh struggled to clear a long throw on 20 minutes.
The deadlock was broken on 28 minutes and it was perfectly executed free-kick from Adam REACH, who curled the ball into the top corner from around 25-yards after Payne was penalised for a foul.
Former Posh left-back Adam Drury tested Day with a stinging drive from 30-yards, with the goalkeeper pushing the shot away from danger.
Brisley was cautioned for bringing down Jon Stead as he tried to race clear with the hosts springing on the counter-attack.
On 41 minutes, Posh were reduced to 10-men as Shaun Brisley was given a second yellow card for a foul, his second offence of a similar nature in as many minutes.
Moments later, De Vita was a whisker away from a second with a speculative volley from 20-yards, the ball flying just over the upright.
Posh made a double change at the break with Craig Alcock and Michael Bostwick replacing Newell and Ajose.
The goalscorer Reach curled over from 25-yards moments after the re-start after running at the Posh back-line. Assombalonga chose to square the ball rather than shoot on 57 minutes after racing clear, but from a tight angle and the goalkeeper at his feet, it was probably the striker's only viable option. Either way, the chance was snuffed out by a combination of Darby and McLaughlin.
Payne fired over from the edge of the area after a good move from the boy's in blue, but the Bantams goalkeeper was not being overworked despite a good spell of pressure from Darren Ferguson's men.
Assombalonga created a half chance for himself on 65 minutes after chopping inside onto his left-foot, but his curler went over the bar.
Aaron Mclean replaced Stead on 67 minutes while Bennett came on for De Vita as Phil Parkinson shuffled his pack. Bostwick fired wide from 30-yards after an intelligent layoff from Assombalonga as Posh continued to probe.
Hanson headed wide following a right-wing cross on 70 minutes with the big man on the stretch. Day made a smart stop by his near post to deny Reach after substitute Mclean headed the ball into the winger's path.
Lloyd Isgrove replaced Washington on 75 minutes as Ferguson made his final switch. Day produced a fine stop from point blank range to deny the onrushing Doyle on 77 minutes.
Bennett fired over after a quickly taken free-kick from Posh was intercepted by the substitute. Baldwin saw a header saved in stoppage time from a corner kick, which Joe Day was in the six-yard box for.
Little was then denied by McLaughlin as the Bantams clung on.
Final Score: Bradford City 1-0 Posh
Bradford: McLaughlin, Darby, McArdle, Davies, Drury, De Vita (sub Bennett 67min), Doyle, Jones, Reach, Hanson, Stead (sub Mclean 67min). Unused subs: Barker, Dolan, Thompson, Yeates, McHugh.
Posh: Day, Little, Ntlhe, Baldwin, Brisley, Payne, Newell (sub Alcock 46min), Rowe, Ajose (sub Bostwick 46min), Washington (sub Isgrove 75min), Assombalonga. Unused subs: Lynch, McCann, McQuoid, Nugent.
Attendance: 13,820 (652 Posh fans)