The Middlesbrough loanee gave the Bantams a 27th-minute lead which they held until the final whistle, with Posh's attacking threat nullified after the first-half dismissal of Shaun Brisley for two quick bookings.
Raffaele de Vita forced a good save from visiting stopper Joe Day, who was left helpless when Reach scored his third Bradford goal by finding the top corner from a free kick which he had earned himself.
Gary Jones and De Vita tested Day either side of the goal as the hosts began to apply constant pressure on Peterborough, who lost control of the match prior to the break as Brisley saw red.
He received his first caution for a trip on Jon Stead when the former Premier League striker was on the breakaway, and another cynical tackle on the surging Reach saw him booked again a minute later.
He had a shot himself on 64 minutes, cutting inside from the left flank and bending a shot just wide of the far post as playoff hopefuls Peterborough failed to extend the four-point gap to seventh place.
Ex-Posh striker Aaron McLean and Reach both had decent opportunities to make Bradford's final few minutes more comfortable, but Phil Parkinson's men still hung on for three points which take them 13th.