OXFORD United ended a testing week on a high as they beat leaders Portsmouth to climb out of the Sky Bet League One relegation zone.

Off-field issues had dominated the build-up, but Karl Robinson’s side shrugged them aside to produce their best result of the campaign.

The home side picked up where they left off at Fleetwood Town last weekend and went ahead with a high-class finish from Cameron Brannagan.

It got even better for them on the stroke of half-time, when top-scorer James Henry doubled their lead.

Portsmouth had been out-of-sorts, but got back in the game just after the hour mark with an excellent finish from substitute Brett Pitman.

The leaders might have been expecting to build on that goal to take at least a point, but United held firm and saw out the closing stages with relatively few scares to claim a morale-boosting three points.

After his impressive impact off the bench in the draw at Fleetwood a week earlier, Jamie Mackie was restored to the starting line-up.

Gavin Whyte kept his shirt at the end of a difficult week, while United’s bench was the strongest it had been for months and included Marcus Browne, new signing Ahmed Kashi and the fit-again Samir Carruthers.

Read again - 'Disrespectful' Pompey tweet fired Oxford United up, says Karl Robinson

United started the day 30 points and 20 places behind their visitors in the table, but looked bright from the outset.

Rob Dickie headed an early Brannagan corner wide as the hosts began on the front foot.

Pompey’s selection had raised eyebrows as Brett Pitman was dropped and winger Jamal Lowe was asked to play in an unfamiliar central role.

He had little joy against Dickie and Curtis Nelson, with the away side’s only effort in anger before the break a 20-yard shot from Gareth Evans which looped over.

The leaders’ struggles to hit their stride were in part down to United’s work rate, which saw them hassling their opponents all over the pitch.

Oxford Mail:

  • Gavin Whyte on the attack in the first half

And their positive approach reaped dividends with the opening goal, in the 25th minute.

It began with goalkeeper Simon Eastwood, whose loose touch almost let Lowe in but his hurried clearance became an inspired pass to Jordan Graham. The winger switched play to Whyte, who used James Henry’s run as a decoy and cut inside to find Brannagan.

The midfielder was in a pocket of space and exploited it brilliantly to fire a low shot from 20 yards just inside Craig MacGillivray’s right-hand post.

Portsmouth looked disjointed and their frustration showed nine minutes before the break when Lowe caught Hanson in the face. United supporters appealed for a red card, but the needless caution showed the visitors were not having things their own way.

The U’s were probably looking to make sure they reached the break with their one-goal lead intact.

But instead they doubled the lead in first-half stoppage-time, when Henry rammed in a powerful shot after Mackie had collected Jordan Graham’s cross.

The start of the second half saw the home side pushing for a third goal.

Jamie Hanson had a terrific first-time strike deflected into the side netting, while Brannagan and Mackie fired half-chances off target.

Oxford Mail:

  • Curtis Nelson challenges goalkeeper Craig MacGillivray

The away fans were chanting for Pitman to come on and they got their wish just before the hour mark.

It took only five minutes for the striker to halve the deficit, via an overhead kick from fellow substitute Lou Dennis’s cross after Dickie’s casual clearance had given the ball away.

There was almost half an hour remaining for the leaders to draw level, but they were quickly inches away from being 3-1 down.

Henry’s cross was teasing, but in attempting to turn the ball behind for a corner Jack Whatmough headed against the outside of the post.

United looked to be tiring as the half wore on, but Robinson did have the luxury of making an attacking substitution – a rarity in recent weeks – to replace Graham with Browne.

Read again - Oxford United discuss creative solution to Ricky Holmes loan with Sheffield United

It helped freshen the attack as the minutes ticked by, before Kashi was brought on for his debut.

Whyte made way, applauding his thanks in acknowledgement of a standing ovation from the home fans.

The supporters were on their feet again before too long, after a nervy period of stoppage-time was negotiated safely to seal an excellent victory.

Oxford Utd (4-3-3): Eastwood, Hanson, Nelson, Dickie, Ruffels, Mousinho, Brannagan, Henry, Graham (Browne 76), Mackie, Whyte (Kashi 85).

Unused subs: Stevens, Garbutt, Long, Sykes, Carruthers.

Booked: Henry.

Portsmouth (4-3-3): MacGillivray, Walkes, Whatmough, Clarke, Brown, Cannon (Donohue 76), Naylor, Evans (Dennis 59), Wheeler (Pitman 59), Lowe, Curtis.

Unused subs: Bass, Burgess, Haunstrup, Morris.

Booked: Lowe, Whatmough, Naylor.

Referee: Christopher Sarginson (Staffordshire).

Attendance: 8,202 (1,803 visitors).