York City midfielder Patrick McLaughlin scored at both ends as they beat Oxford to end United's 100% start to the League Two season.
City led after 15 seconds when Ryan Clarke failed to deal with McLaughlin's shot and Michael Coulson tapped home.
U's striker Deane Smalley had a penalty saved by Michael Ingham before Ashley Chambers made it 2-0 from 16 yards out.
McLaughlin deflected Adam Chapman's corner into his own net, before making amends after Michael Raynes' error.
The result, York's first home win in the Football League since January 2004, knocked Oxford off top spot in the table.
VIEWS FROM THE DRESSING ROOM
York City manager Gary Mills told BBC Radio York:
"We're here to entertain, we're here to try and win football matches, we're here to enjoy it.
"We were 1-0 up and then obviously a penalty (for them) and a great save from Ingham. He's pulled off a couple of great saves in the first half which enabled us to go on and win the game.
"I'm delighted. I've said I thought the first game (of the season) flattered Wycombe.
"It was a weird day for us and since then we've shown what we've got with seven points in the last three games."
Oxford United manager Chris Wilder told BBC Radio Oxford:
"We should have got three points, without a shadow of doubt. We beat ourselves.
"We conceded three really poor goals and the timing of the first one was ridiculous.
"We'll look at this and wonder how we have not won. We haven't won because we've gifted three really poor goals to the opposition.
"We've had 17 crosses in the first half but haven't picked out the right run to score."
Sorry, we were unable to load match stats, please try again.
Live Text Commentary
Full Time The final whistle is blown by the referee.86:44
Michael Ingham restarts play with the free kick.86:44 Substitution
Substitution Jon Challinor on for Ashley Chambers.86:44
Free kick awarded for a foul by Jake Wright on Ashley Chambers.84:34
Tom Craddock challenges Daniel Parslow unfairly and gives away a free kick. Free kick taken by Charlie Taylor.80:13
Corner taken left-footed by Jake Forster-Caskey to the near post, clearance by Chris Smith.78:11 Substitution
Substitution Jamal Fyfield comes on in place of Michael Coulson.75:56
Jake Wright handles the ball and concedes a free kick. Direct free kick taken by Charlie Taylor.75:31 Substitution
Substitution (Oxford Utd) makes a substitution, with Jon-Paul Pittman coming on for Sean Rigg.70:04 Substitution
Substitution Matty Blair joins the action as a substitute, replacing Jason Walker.69:27
Adam Chapman takes a inswinging corner from the left by-line played to the near post, save by Michael Ingham.68:53
Corner from the left by-line taken by Adam Chapman, clearance by Clarke Carlisle.68:16
Corner taken left-footed by Jake Forster-Caskey, Clarke Carlisle manages to make a clearance.66:10
The official flags James Constable offside. Michael Ingham takes the free kick.63:16 Substitution
Substitution Deane Smalley goes off and James Constable comes on.62:15
Tom Craddock takes a shot from just inside the penalty box which clears the bar.58:39 Substitution
Substitution Tom Craddock comes on in place of Simon Heslop.58:39
The assistant referee flags for offside against Alfie Potter. Michael Ingham restarts play with the free kick.57:17
Free kick awarded for a foul by Damian Batt on Ashley Chambers. Free kick taken by Charlie Taylor.55:55
Jake Forster-Caskey takes a shot from a long way out clearing the bar.
Assist by Ashley Chambers.53:40 Goal scored
Goal! - Patrick McLaughlin - York 3 - 1 Oxford Patrick McLaughlin gets on the score sheet with a goal from the edge of the area to the bottom left corner of the goal. York 3-1 Oxford Utd.50:28
Alfie Potter is caught offside. Michael Ingham restarts play with the free kick.48:57
Deane Smalley is caught offside. Michael Ingham restarts play with the free kick.48:07
Lanre Oyebanjo takes the chance to get an effort at goal. Save by Ryan Clarke.47:12
Jason Walker fouled by Jake Wright, the ref awards a free kick. Charlie Taylor takes the free kick.46:57
Free kick awarded for a foul by Ashley Chambers on Simon Heslop. Adam Chapman takes the direct free kick.45:01
The referee gets the second half underway.45:00 +3:10 Half time
Half Time It is the end of the first-half.45:00 +2:00
Tony Capaldi concedes a free kick for a foul on Chris Smith. Charlie Taylor takes the direct free kick.45:00 +1:07 Booking
Booking Caution for Ashley Chambers.45:00 +0:59
Free kick awarded for a foul by Ashley Chambers on Alfie Potter. Damian Batt takes the direct free kick.45:00 +0:16
The assistant referee signals for offside against Deane Smalley. Michael Ingham takes the indirect free kick.42:51
Unfair challenge on Jake Forster-Caskey by Jonathan Smith results in a free kick. Free kick taken by Jake Forster-Caskey.36:37
Deane Smalley takes a shot. Save made by Michael Ingham.33:05
Michael Coulson is penalised for a handball. Damian Batt takes the free kick.31:11
The offside flag is raised against Alfie Potter. Michael Ingham takes the free kick.30:54
The ball is crossed by Damian Batt.29:39
Lanre Oyebanjo challenges Alfie Potter unfairly and gives away a free kick. Tony Capaldi takes the free kick.24:16
Inswinging corner taken by Ashley Chambers from the left by-line played to the near post.22:46 Goal scored
Goal! - Patrick McLaughlin - York 2 - 1 Oxford Patrick McLaughlin puts the ball into his own goal from 6 yards. York 2-1 Oxford Utd.22:41
Inswinging corner taken right-footed by Adam Chapman from the left by-line.17:53
Sean Rigg has an effort at goal from the edge of the area that misses to the right of the target.16:05
Jake Forster-Caskey takes a inswinging corner.14:42
Assist on the goal came from Michael Coulson.14:42 Goal scored
Goal! - Ashley Chambers - York 2 - 0 Oxford Ashley Chambers finds the back of the net with a goal from the edge of the area to the bottom left corner of the goal. York 2-0 Oxford Utd.12:38
Short corner taken by Jake Forster-Caskey.12:15 Penalty
Penalty taken by Deane Smalley saved by Michael Ingham. York 1-0 Oxford Utd.11:15
The referee gives a against Chris Smith for handball.9:59
Jake Forster-Caskey takes the outswinging corner, Patrick McLaughlin makes a clearance.8:37
Shot from just outside the area by Sean Rigg goes over the bar.7:10
Unfair challenge on Tony Capaldi by Jonathan Smith results in a free kick. Jake Wright restarts play with the free kick.4:10
Patrick McLaughlin delivers the ball.0:15
Patrick McLaughlin provided the assist for the goal.0:15 Goal scored
Goal! - Michael Coulson - York 1 - 0 Oxford A goal is scored by Michael Coulson from inside the six-yard box to the bottom right corner of the goal. York 1-0 Oxford Utd.0:00
The match begins.
Live data and text provided by our data suppliers