Chris Maguire struck a brilliant free-kick from 23 yards in stoppage time to give the U's victory.
The Bantams, who had been undefeated in their first 15 games of the campaign, stay second in Sky Bet League One but they will be cursing Billy Clarke's penalty miss in the 21st minute.
Charlie Raglan tripped Timothee Dieng to concede the spot-kick, but Clarke smashed the penalty against the crossbar.
Before that, Maguire twice went close for the U's, with City keeper Colin Doyle pushing aside his 15-yard volley, and later saving the striker's header.
Bradford then began to control possession and Jordy Hiwula should have done better than sky a volley from 10 yards out.
Simon Eastwood saved at the feet of Clarke as the visitors continued to create opportunities.
Hiwula missed badly from four yards out in the second half before Oxford began to look dangerous.
Ryan Taylor had an effort saved and Chey Dunkley saw his header from a corner blocked on the goal line.
Just as the game entered second-half stoppage time, the referee penalised Romain Vincelot for pulling John Lundstram's shirt, and Maguire curled in the free-kick for his seventh goal of the season.