Match ends, Oxford United 0, York City 1.
York stretched their unbeaten run to 14 games by narrowly beating Oxford to move back into the play-off places.
Michael Coulson blasted the only goal high to Ryan Clarke's right from the penalty spot after Dave Kitson handled.
Oxford's James Constable's saw a fierce drive tipped over by Nick Pope and Ryan Williams spurned another good chance.
City's Calvin Andrew had a 20-yard drive well saved by Clarke before U's substitute Michael Raynes headed wide a gilt-edged opportunity to level.
York are now two points clear of their opponents in the final play-off place, with Oxford dropping to eighth.
York City manager Nigel Worthington told BBC Radio York:
"It was a big game and a fantastic three points.
"It was a hard fought game; Oxford are a good side.
"They started off very brightly in the first half, we withstood the early pressure and then we came into the game and we managed the game very very well.
"There were chances there for us to go and make it more but the important thing was again to keep a clean sheet and we've done that."
- 15WilliamsSubstituted forPotterat 69'minutes
- 22WroeBooked at 31mins
- 35O'DowdaSubstituted forConnollyat 75'minutes
- 37ReedBooked at 74minsSubstituted forMontroseat 89'minutes
- 26HayhurstSubstituted forPuriat 84'minutes
- 8AndrewBooked at 27minsSubstituted forBowmanat 90+4'minutes
- 7CoulsonBooked at 66mins
- Oliver Langford
- Shots on Target
Second Half ends, Oxford United 0, York City 1.
Substitution, York City. Ryan Bowman replaces Calvin Andrew.
Attempt missed. Michael Raynes (Oxford United) header from the centre of the box misses to the right.
Substitution, York City. Lewis Montrose replaces Adam Reed.
Attempt missed. Michael Raynes (Oxford United) left footed shot from the centre of the box is too high.
Foul by James Constable (Oxford United).
Ben Davies (York City) wins a free kick on the right wing.
Attempt saved. Michael Coulson (York City) right footed shot from outside the box is saved in the centre of the goal.
Substitution, York City. Sander Puri replaces William Hayhurst.
Hand ball by James Constable (Oxford United).
Attempt missed. Josh Ruffels (Oxford United) right footed shot from the centre of the box misses to the left.
Substitution, Oxford United. David Connolly replaces Callum O'Dowda.
Adam Reed (York City) is shown the yellow card.
Alfie Potter (Oxford United) wins a free kick in the defensive half.
Foul by Adam Reed (York City).
Corner, York City. Conceded by Ryan Clarke.
Attempt saved. Calvin Andrew (York City) left footed shot from outside the box is saved in the top right corner.
Substitution, Oxford United. Alfie Potter replaces Ryan Williams.
Nicky Wroe (Oxford United) wins a free kick in the defensive half.