Match ends, Oxford City 2, Northampton Town 1.
Non-league Oxford City stunned Northampton Town to set up an FA Cup second-round tie against Shrewsbury.
The National South side, 63 places below League One Northampton on the football ladder, deservedly came from behind to secure a second-round spot for the third time in their history.
Sam Hoskins' goal for the Cobblers was cancelled out by James Roberts' header.
And even though Roberts saw a penalty saved, Josh Ashby converted his own spot-kick for a famous win.
- See full draw for FA Cup second round
- Relive Oxford City's win over Northampton
- Watch all of the latest FA Cup highlights and reaction here
It looked like it might be a straightforward evening for Keith Curle's Northampton when Hoskins swept in Mark Marshall's cut-back in the seventh minute.
But the Hoops, full of energy, were a constant threat, equalising when Roberts nodded in Louis Hall's looping cross.
The hosts' commitment was epitomised by Aaron Drewe's stunning, sliding goalline clearance to stop Mark Marshall's strike restoring the Cobblers' lead.
And after Roberts was denied from the spot following a foul by Joe Martin, Ashby converted a penalty of his own after a tug by Fraser Horsfall on Elliot Benyon.
Hoskins had Northampton's best chance late on, firing at keeper Ben Dudzinski, but Oxford City will now look to reach the third round for the first time when they travel to League One Shrewsbury on the weekend of 28-29 November.
Oxford City manager David Oldfield to BT Sport: "I am very proud of our boys to come from a goal down and get over the line.
"I don't think we will fear Shrewsbury, but they will not fear us either. We can't think about that yet, we just have to be excited and it is sad for the fans they cannot be here."
Oxford City goalscorer James Roberts: "The first was a team goal and I was lucky enough to be there to nod it in. That says everything about the team, even against opposition higher than us, we do not give up.
"Missing a penalty is part and parcel of the game. You get your head back up and my good friend Josh Ashby dug me out of there."
Northampton manager Keith Curle: "Where shall I start? Nowhere near good enough. I have players who have been banging on my door, wanting an opportunity and tonight was a perfect platform for them but collectively they did not deliver.
"You have to give Oxford City a lot of credit. They closed us down, made us play their type of game and they were better than us, they out-fought us and out-competed us. I think it will be quiet this week, I won't have many players banging on my door wanting to play."
- 10McEachranSubstituted forMartinezat 75'minutes
- 15CoyleSubstituted forOwusuat 86'minutesBooked at 90mins
- 14BradburySubstituted forBenyonat 66'minutes
- 6HorsfallBooked at 67mins
- 3MartinBooked at 52mins
- 45MarshallSubstituted forRoseat 64'minutes
- 19RobertsSubstituted forHolmesat 72'minutes
- 30ChukwuemekaSubstituted forSmithat 64'minutes
- Paul Howard
- Shots on Target
Second Half ends, Oxford City 2, Northampton Town 1.
Nana Owusu (Oxford City) is shown the yellow card for a bad foul.
Luka Racic (Northampton Town) wins a free kick in the defensive half.
Foul by Nana Owusu (Oxford City).
Foul by Ricky Korboa (Northampton Town).
Reece Fleet (Oxford City) wins a free kick on the right wing.
Attempt blocked. Ricky Holmes (Northampton Town) right footed shot from outside the box is blocked.
Ricky Holmes (Northampton Town) wins a free kick in the attacking half.
Foul by Joe Oastler (Oxford City).
Offside, Oxford City. Josh Ashby tries a through ball, but Joe Oastler is caught offside.
Substitution, Oxford City. Nana Owusu replaces Lewis Coyle.
Foul by Fraser Horsfall (Northampton Town).
Elliot Benyon (Oxford City) wins a free kick in the attacking half.
Attempt saved. Sam Hoskins (Northampton Town) right footed shot from outside the box is saved in the centre of the goal.
Attempt missed. Harry Smith (Northampton Town) right footed shot from the left side of the box misses to the left. Assisted by Joe Martin.
Foul by Josh Ashby (Oxford City).
Ricky Holmes (Northampton Town) wins a free kick in the defensive half.
Corner, Oxford City. Conceded by Benny Ashley-Seal.
Foul by Pablo Martinez (Oxford City).