Deadline day signing Jonathan Obika scored twice on his debut as Swindon Town condemned Bradford City to their third home league defeat in a row.
After Alan Sheehan's early missed penalty, City led when Louis Thompson slid in to prevent Mark Yeates' left-wing cross reaching Jason Kennedy, only to divert the ball into his own net.
But Obika levelled with a close-range header before firing in from 10 yards.
City defender Sheehan was then sent off late on for a second yellow card,
That completed a bad day for Sheehan, whose spot-kick was saved by Wes Foderingham after the Swindon keeper had tripped Billy Clarke to concede the penalty in the third minute.
After Thompson's 10th-minute own goal, Swindon equalised on 23 minutes when Bradley Smith's corner was headed back across goal by Michael Smith for Obika to net with a close-range header.
Obika then added his second after the Bradford defence had failed to clear Nathan Byrne's corner.
Swindon Town goalkeeper Wes Foderingham told BBC Wiltshire:
"He got the penalty wrong. It was a good challenge and I got the ball. When he watches it back I'm sure he'll agree.
"When you come to Bradford, it's always going to be a difficult game. But we stood up to the challenge of them putting the ball forward.
"They tried to press and I was a little surprised as I thought they'd press more in the second half. It turned into a bit of a fight but we defended magnificently."