JOSH Ashby’s penalty was the difference as Oxford City pulled off an Emirates FA Cup shock against Northampton Town.

Jonathan Mitchell had saved a spot kick from James Roberts, but could do nothing about the midfielder’s effort midway through the half.

It was the least City deserved for a performance full of energy and enterprise.

They had to come from behind after Sam Hoskins’ early strike, but the impressive Roberts quickly levelled.

The former U’s striker came close before the break and then had a penalty saved, but will be thankful it was not costly as the Vanarama National League South side booked a second-round trip to Shrewsbury Town later this month.

The Cobblers made seven changes and were almost caught cold inside five minutes, when Harvey Bradbury dragged a shot wide after good work from Josh Ashby and Roberts.

It was a promising start, but the Cobblers hit back to open the scoring with their first meaningful attack.

Mark Marshall got forward down the right and his low cutback found Hoskins in space to sweep the ball into the net.

It might have deflated City, but instead the lead lasted just five minutes.

Louis Hall swung in a cross from the left and Roberts rose to nod in past Jonathan Mitchell from six yards.

The former Oxford United striker came close to a second midway through the half after winning a corner.

Josh Ashby took the set piece quickly to leave Northampton completely exposed, but Roberts could not get the touch required to beat Mitchell.

The visitors looked limited on the ball, often looking long with balls which were easily mopped up by City’s back four.

But just after the half-hour mark Marshall must have thought he had scored with a fierce low strike which beat goalkeeper Ben Dudzinski, only for Aaron Drewe to make an incredible block on the line.

Back came City, with Mitchell just getting fingertips to deny Roberts after a run and pass from Zac McEachran.

Joe Oastler met the resulting corner with a thumping header, which was turned wide by a combination of Mitchell and the woodwork.

Northampton’s discomfort was shown with their change to a back four after the break, but Roberts was still the danger man.

His direct run seven minutes after the restart lured Joe Martin into a rash challenge in the box. The forward took the spot kick himself, only for Mitchell to guess correctly and parry.

It was a blow, but did not alter the pattern of the game.

While Northampton made a double change, it was City’s first substitute who made an instant impact.

Elliot Benyon had been on for less than two minutes when he hassled Fraser Horsfall into a dreadful mistake which saw the centre back concede a penalty.

This time Ashby took over the duties, sending Mitchell the wrong way to put City ahead.

The League One side still had a quarter of the game left to find a way back into the game, but Dudzinski had just one save to make, keeping out Hoskins’ half-volley.

City wound the clock down well to survive and claim the scalp.

Oxford C (4-2-3-1): Dudzinski, Drewe, Oastler, Fernandez, Hall, Ashby, Fleet, Coyle (Owusu 86), McEachran (Martinez 75), Roberts, Bradbury (Benyon 66).

Unused subs: Bancroft, Grantham, Naylor, George.

Booked: Owusu.

Northampton Tn (3-5-2): Mitchell, Racic, Horsfall, Martin, Marshall (Rose 64), Korboa, Missilou, Hoskins, Roberts (Holmes 72), Chukwuemeka (Smith 64), Ashley-Seal.

Unused subs: Berry, Harriman, Adams, Watson.

Booked: Horsfall.

Referee: Paul Howard (London).