Bradford kept their slim hopes of avoiding relegation alive with a win over play-off chasing Reading.
David Wetherall put Nicky Summerbee's corner away to give Bradford an early lead before Dave Kitson's overhead kick dragged Reading back into the match.
Lewis Emanuel earned all three points for Bradford with a cool header from Michael Branch's cross.
But both teams finished with 10 men after both Branch and Reading's Ivar Ingimarsson received the red card.
The Bantams started brightly and it was from their third corner that they took the lead.
Summerbee's corner was deflected into Weatherall's path and the former Leeds defender made no mistake with his header.
On 25 minutes, Dean Morgan made good ground down the left before linking up with John Salako who crossed behind Kitson.
And the in-form striker produced a stunning overhead effort for his fourth goal in five matches.
Bradford winger Danny Cadamarteri was taken off at half time, with Emanuel coming on and making an immediate impact with his goal from Branch's cross.
Branch, booked in the first half for diving, did not last much longer on the field though and was sent off after receiving a second yellow card for diving.
But Reading failed to make their numerical advantage count and just four minutes later Ingimarsson was shown a straight red card after an altercation with Dean Windass.
Bradford came close to making the win safe when Windass' 30-yard shot hit
the post, but they were grateful to goalkeeper Alan Combe for a late save from Dean Gordon to prevent an equaliser.
Bradford: Combe, Edds, Wetherall, Gavin, Heckingbottom,
Summerbee, Windass, Atherton, Wolleaston, Branch, Cadamarteri.
Subs: Paston, Kearney, Emanuel, Muirhead, Forrest.
Reading: Ashdown, Murty, Williams, Ingimarsson, Hughes,
Brooker, Newman, Harper, Salako, Kitson, Morgan. Subs: Gordon,
Goater, Forster, Young, Owusu.
Referee: K Hill (Hertfordshire).