David Okagbue was sent off as Posh suffered defeat on the opening day of the league campaign.
Peterborough United suffered a 2-0 defeat to last season's Sky Bet League One play-off semi-finalists Bradford City on the opening day of the Sky Bet League One season as two goals after the interval secured the three points for the Bantams.
Up until the breakthrough, Posh had defended bravely against physical opponents who were using the direct tactic efficiently, but ultimately it was an error that led to the opening goal and the home side never looked back after that.
Luke Williams' side, who were without Owura Edwards due to illness, had their moments, but in fairness, so did Graham Alexander's team, who hit the woodwork twice in the first 45 minutes.
It was Gillesphey who had the first effort on goal, his looping header was headed onto his own crossbar by Harry Leonard, before Posh hacked the ball to safety.
Ethan Williams saw a low effort from 20-yards repelled by McCracken on eight minutes before Harrison Jones skied a shot from the edge of the box after good work from Williams.
Callum Connolly saw a rasping drive cannon against the crossbar on 12 minutes before half chances for Beesley and Swan. David Okagbue went into the book for a foul on 21 minutes before Alex Bass beat away a fierce drive from Neufville.
Jackson was cautioned just before the interval and could have been shown a second yellow moments after the break for a late challenge on Tom O'Connor, but the referee waved away those protests from Carl Johnston in particular.
Beesley headed wide at the near post before the home side did find the breakthrough as GILLESPHEY headed home from a corner kick. Bass did well to tip over a close-range Phillips effort moments later before Posh hit the bar themselves as a low Shofowoke cross was turned towards goal by a combination of Touray and Leonard.
Substitute Vernon Masara, on for his league debut, saw a shot blocked after good work from Leonard, before the Bantams killed the game through a substitute of their own, POWELL tapping home from close-range following a low centre.
Posh had the ball in the back of the net through Leonard on 82 minutes, but the flag was up and the goal was chalked off before he was denied by McCracken.
Posh were reduced to 10-men on 85 minutes as Okagbue was shown a second yellow card for a high boot.
Bradford City: McCracken, Touray, Gillesphey, Connolly (sub Cartwright 86min), Neufville, Beesley (sub Powell 73min), Sarcevic, Baldwin, Jackson (sub Phillips 55min), Swan (sub Pointon 46min), Pennington. Unused subs: Dawson, Wright, Lapslie.
Posh: Bass, Dornelly, Okagbue, O’Connor (sub Weir 60min), Jones (sub Kelly 60min), Khela (sub Conn-Clarke 75min), Leonard, Williams (sub Masara 60min), Mills, Shofowoke, Okagbue, Dornelly. Unused subs: Andeng Ndi, Woods, Mendonca.
Half-time: Bradford City 0-0 Peterborough United
Full-time: Bradford City 2-0 Peterborough United
Attendance: 19,871 (976 Posh fans)
Referee: Tony Harrington