Match ends, Oxford United 1, Bradford City 0.
Jamie Mackie fired a stoppage-time winner to give Oxford victory over relegation rivals Bradford in controversial circumstances at a windswept Kassam Stadium.
Seconds after Bantams substitute Lewis O'Brien had shot wide at the far post from three yards on a rare counter-attack, Oxford found the net when Gavin Whyte's shot ballooned up and substitute Mackie superbly volleyed high into the goal.
But the match finished with chaotic scenes, as Bradford's players urged referee Andy Davies to speak to his assistant, believing they should have been awarded a penalty.
After a long stoppage for consultations between the officials and vehement protests from the visiting camp, the referee confirmed that the goal stood.
The U's finishing had previously been poor, with most shots off-target.
And, when top scorer James Henry did eventually get his sights right from a 20-yard free-kick in the 63rd minute, keeper Richard O'Donnell saved well to his left.
City created few chances, one of their best coming when centre-half Anthony O'Connor saw his downward header at a corner 16 minutes from time bounce down and over the bar.
Bradford had to cope with the wind against them in the second half, which started with Whyte and then Jordan Graham again firing over but Mackie had the last word.
Match report supplied by the Press Association.
Line-ups
Oxford Utd
Formation 4-2-3-1
- 1Eastwood
- 23Long
- 4Dickie
- 5Nelson
- 14Ruffels
- 40KashiBooked at 90mins
- 8Brannagan
- 18GrahamSubstituted forBrowneat 63'minutes
- 17HenrySubstituted forMackieat 71'minutesBooked at 89mins
- 16Whyte
- 9Sinclair
Substitutes
- 3Garbutt
- 6Hanson
- 10Browne
- 15Mousinho
- 19Mackie
- 24Sykes
- 27Stevens
Bradford
Formation 4-2-3-1
- 1O'Donnell
- 38Caddis
- 22Knight-Percival
- 6O'Connor
- 3Chicksen
- 17ClarkeSubstituted forO'Brienat 77'minutes
- 21AkpanBooked at 84mins
- 40BallBooked at 41minsSubstituted forMillerat 56'minutes
- 16ButterfieldSubstituted forPayneat 82'minutes
- 18Anderson
- 9Doyle
Substitutes
- 10Payne
- 12Miller
- 13Wilson
- 20Patrick
- 35Staunton
- 39O'Brien
- 44Wright
- Referee:
- Andy Davies
- Attendance:
- 6,681
Match Stats
- Possession
- Home50%
- Away50%
- Shots
- Home26
- Away4
- Shots on Target
- Home5
- Away0
- Corners
- Home5
- Away3
- Fouls
- Home12
- Away9
Live Text
Post update
Full Time
Second Half ends, Oxford United 1, Bradford City 0.
Post update
Nathaniel Knight-Percival (Bradford City) wins a free kick in the attacking half.
Post update
Foul by Jamie Mackie (Oxford United).
Goal!
Goal! Oxford United 1, Bradford City 0. Jamie Mackie (Oxford United) right footed shot from the right side of the box to the top right corner.
Post update
Attempt missed. Lewis O'Brien (Bradford City) left footed shot from the centre of the box misses to the right.
Booking
Ahmed Kashi (Oxford United) is shown the yellow card for a bad foul.
Post update
Foul by Ahmed Kashi (Oxford United).
Post update
George Miller (Bradford City) wins a free kick in the defensive half.
Post update
Corner, Oxford United. Conceded by Paul Caddis.
Booking
Jamie Mackie (Oxford United) is shown the yellow card.
Post update
Attempt missed. Cameron Brannagan (Oxford United) right footed shot from outside the box is just a bit too high.
Post update
Cameron Brannagan (Oxford United) wins a free kick in the defensive half.
Post update
Foul by Hope Akpan (Bradford City).
Post update
Attempt missed. Jerome Sinclair (Oxford United) right footed shot from the right side of the six yard box misses to the right.
Post update
Attempt saved. Cameron Brannagan (Oxford United) right footed shot from the left side of the box is saved in the centre of the goal.
Post update
Corner, Oxford United. Conceded by Paul Caddis.
Post update
Delay in match Marcus Browne (Oxford United) because of an injury.
Booking
Hope Akpan (Bradford City) is shown the yellow card for a bad foul.
Post update
Corner, Oxford United. Conceded by Adam Chicksen.