James Hanson hit a dramatic injury-time winner for Bradford City to beat 10-man Shrewsbury Town at Valley Parade.
Town led inside two minutes through Tom Bradshaw's close-range header from Ryan Woods' right-wing cross.
City winger Kyel Reid then levelled on the hour from Mark Yeates' cross.
But, after Town had Dave Winfield sent off on 87 minutes for handball, his second yellow card, Hanson cashed in on the man advantage, seizing on a loose ball to blast in a right-foot shot.
Winfield, whose first booking had come in the 62nd minute for a challenge on Hanson, was also involved in the first-half incident that saw City lose Nahki Wells.
The City top scorer, who had previously hit six goals in four home games this season, was taken off with an ankle injury, but his team have climbed a place to fifth in League One.
VIEW FROM THE DRESSING ROOM
Shrewsbury Town boss Graham Turner told BBC Radio Shropshire:
"It was a harsh red card for David Winfield. To pick out the incident and send him off is beyond my comprehension.
"But we should have been capable of holding on to 1-1. We are lacking the knowhow and mental toughness required to win these games - and find that second goal. We need to look at ourselves and ask the question of why we are losing games like this.
"I can't complain about how much effort the players have put in to win the game. But we have to be able to cope with the pressure, pick them off and create our own chances. We didn't play well enough on the ball in that second half.
"And we have to take our chances. Tom Bradshaw should have done better when he was through one on one."