Ten-man Bradford went down to their third straight home defeat as Shrewsbury claimed a 3-1 win at Valley Parade.
The visitors went in front against the run of play after 11 minutes with a superb 30-yard shot from Terry Dunfield after he collected a loose ball.
Bradford hit back to equalise 10 minutes later when leading scorer James Hanson took a short pass from Gareth Evans before tapping the ball into an empty net from the edge of the six-yard area.
The turning point of the game came a minute before half-time when Shrewsbury were awarded a hotly-disputed penalty after Matt Clarke was adjudged to have fouled Steve Leslie.
Middlesbrough referee Peter Quinn booked the Bradford defender before Kevin McIntyre scored from the spot, and he then sent Clarke off for a foul on Dave Hibbert.
Hibbert, who spent a spell on loan at Bradford three seasons ago, put the result beyond doubt with Shrewsbury's third goal in the 79th minute after goalkeeper Simon Eastwood had blocked Lewis Neal's shot.
Copyright (c) PA Sport 2009, All Rights Reserved.