OXFORD United gave Shrewsbury Town a fright but were left empty-handed to stay on the fringes of the relegation battle in Sky Bet League One.

The visitors were well in the game until Shaun Whalley’s 40th-minute free-kick found the far corner of the net.

A see-sawing second half began with Jon Nolan’s deflected strike, but substitute Wes Thomas reduced the deficit.

Whalley’s second of the afternoon quickly made it 3-1, before Joe Rothwell’s 20-yard shot went in off a defender to set up a tense finish.

But United never got the clear chance they needed to draw level as Shrewsbury held firm.

It saw the hosts climb back into the automatic promotion places, while 35 points below them United – who are still leaking far too many goals – still have work to do before they are safe from the drop.

Agon Mehmeti was handed only his second league start of the season as Karl Robinson made three changes to the XI which started against Scunthorpe United on Good Friday.

Jon Obika and Josh Ruffels also came in, as Wes Thomas, Malachi Napa and Ashley Smith-Brown dropped to the bench.

United went into the game 32 points behind their high-flying hosts, but they made a bright start.

Rothwell had a shot deflected wide from Mehmeti’s cutback, while James Henry curled a corner on to the top of the crossbar, all before the game was five minutes old.

Shrewsbury went on to enjoy a good spell, moving the ball impressively quickly on a very heavy playing surface.

Simon Eastwood was quickly called into action by a Nolan shot after the goalkeeper’s pass for Rob Dickie led to a mix-up.

United’s No 1 made another good stop on the quarter-hour mark, using his legs to deny Shrews top-scorer Stefan Payne from Nathan Thomas’s low cross.

The visitors wrestled the initiative back midway through the half.

Obika twice stretched Shrewsbury goalkeeper Dean Henderson, with the latter effort ricocheting on to Henry and rebounding just wide.

Back came the hosts, who finished the half on top.

Whalley almost opened the scoring nine minutes before the break, but Eastwood stuck out a left arm to superbly repel the winger’s shot, which had taken a deflection off John Mousinho.

United’s reprieve lasted just four minutes.

This time Whalley found the net, as his low free-kick from the right corner of United’s box bounced through a packed penalty area and crept inside the far post.

It was almost 2-0 on the stroke of half-time as the hosts broke quickly from a U’s attacking free-kick, but Cameron Brannagan made a vital block tackle on Payne 20 yards out.

For the third time in as many games in charge, Robinson’s half-time team talk was focused on turning round a 1-0 deficit.

The size of their task doubled two minutes after the restart, when Nolan’s 20-yard effort took a wicked deflection off Brannagan which left Eastwood stranded.

United were out of luck, but Shrewsbury should then have been out of sight.

Payne skewed wide when Brannagan’s inadvertent pass left the striker with only Eastwood to beat, while Bryn Morris smacked a header against the crossbar.

With United on the ropes and offering nothing going forward, Obika and Mehmeti were replaced by Thomas and Napa.

And within two minutes the pair were involved in halving the deficit, Thomas slamming in from close range after Ruffels’s cross had hit Napa.

But the visitors’ optimism lasted only three minutes, as Whalley restored Town’s two-goal cushion by sweeping in James Bolton’s cross.

That looked to make the points safe, before United benefitted from a deflection of their own.

With 17 minutes remaining Rothwell tried his luck from range with an effort which deceived Henderson via a nick off Mat Sadler.

There was plenty of time left to stage a comeback, but United’s build-up in the Shropshire mud lacked the quality needed to really put their hosts under pressure.

Shrewsbury Tn (4-1-4-1): Henderson, Bolton, Beckles, Sadler, Lowe, B Morris, Whalley (Eisa 86), Godfrey, Nolan, Thomas (John-Lewis 90), Payne (Jones 90).

Unused subs: MacGillivray, Morris, Gnahoua, Hendrie.

Booked: Thomas, Lowe, Godfrey.

Oxford Utd (4-2-3-1): Eastwood, Kane, Dickie, Mousinho, Ruffels, Brannagan, Ledson, Obika (Napa 59), Rothwell, Henry (Buckley-Ricketts 74), Mehmeti (Thomas 59).

Unused subs: Shearer, Martin, Ricardinho, Smith-Brown.

Booked: Thomas.

Referee: Sebastian Stockbridge (Tyne & Wear).

Attendance: 7,191 (674 visitors).