And it helped extend the Minstermen's unbeaten League Two run to 14 games.
The breakthrough for Nigel Worthington's team came from a corner when Dave Kitson handled.
Referee Oliver Langford seemed initially unmoved but following advice from his assistant he pointed to the spot and Coulson converted the penalty high to Ryan Clarke's right.
James Constable went close for Oxford in the opening minutes, with a fierce drive that keeper Nick Pope tipped over, and after a strong run by Callum O'Dowda, Ryan Williams wasted an opportunity when he hesitated instead of shooting from a good position.
But York gradually started to get on top and they nearly added a second goal midway through the second half when Calvin Andrew's 20-yard drive had to be saved at full stretch by Clarke.
Gary Waddock threw Michael Raynes forward for the last 15 minutes, and the defender squandered a great opportunity in stoppage time when he headed wide from Alfie Potter's cross.