JOSH Ruffels headed a late winner as Oxford United staged a sensational comeback to  beat ten-man Shrewsbury Town.

The U’s had been 2-0 down within 34 minutes to goals from Daniel Udoh and Callum Lang, before a red card to Shrewsbury’s Josh Vela let the visitors back into contention.

The hosts’ front three of Jason Cummings, Udoh and Lang made life difficult for United’s defence during an eventful first half.

Udoh put Shrewsbury ahead when he beat Rob Dickie and Elliott Moore to the ball to fire past Simon Eastwood, before Lang beat the U’s keeper at his near post after 34 minutes.

A second yellow card for Vela let United back into the contest 60 seconds later and Marcus Browne stole in to score.

Dan Agyei, on as a substitute moments earlier, curled a stunning effort into the far corner to draw United level just before the hour.

And Browne’s teasing cross was emphatically headed home by Ruffels two minutes from time to send the U’s third in Sky Bet League One.

Karl Robinson made two changes to the line-up that began last Saturday’s 2-1 victory over Southend.

A fit-again Nathan Holland returned to the starting XI in place of Mark Sykes as Marcus Browne dropped into midfield, while Sam Long came in for Anthony Forde at right back.

United started brightly but were quickly put under the cosh by the hosts’ attacking trio as Cummings forced a flying save from Eastwood after seven minutes.

They did not heed the warning and after 12 minutes went 1-0 down.

Cummings was the architect, chipping an awkward ball behind Moore and Dickie for Udoh to run on to and he beat Eastwood first time from 15 yards.

Four minutes later the U’s really should have been 2-0 behind, but Josh Laurent shot straight at Eastwood after a well-worked move put him through one-on-one.

Moore had a header tipped behind following a corner, but the home side looked more likely to score next and the United keeper was once again called upon as he saved Vela’s shot that went through the crowd.

They got the second goal their play deserved just after the half-hour mark and it was the front three doing the damage again.

United cleared a free-kick, but Alex Gorrin dived in on Lang on the left, allowing the forward to streak away, cut inside and beat Eastwood from the edge of the box.

A mad few minutes ensued as the U’s found a way back into the game via Vela’s red card.

The midfielder had already been booked and he dived in on Browne, with referee Seb Stockbridge wasting no time in pulling out the yellow card.

The visitors were then convinced they should have had a penalty when Holland was brought down, which appeared to leave the winger with an injury and he was replaced by Sykes.

United appeared destined to go in two goals down at the break, but produced a piece of quality out of nothing.

A raking cross-field ball from Cameron Brannagan was not dealt with by Ro-Shaun Williams and Browne capitalised to send the finish through Max O’Leary’s legs.

The ten men of Shrewsbury afforded United plenty of the ball in the second half and the visitors immediately began to threaten.

Matty Taylor drove a shot into the travelling fans and Moore had a header stopped on the goal-line as they made an encouraging start to the half.

Agyei came on for Alex Gorrin as Robinson looked to attack and he produced a wonder goal just two minutes after coming on.

United appeared to have been crowded out on the right edge of the box, but the striker made space for himself before curling an excellent effort over O’Leary.

The striker almost scored another beauty moments later when he flashed an effort wide following a corner, but the visitors’ tails were up.

A stretching James Henry put Ruffels’ cross wide with 12 minutes remaining, before the dangerous Udoh forced Eastwood to save down low with a shot from the edge of the box.

Both sides were giving it a go, but it was United who made it count.

Browne’s inviting ball was met by Ruffels and he gave O’Leary no chance to send the travelling fans wild.

Shrewsbury Town (4-3-3): O’Leary, Williams, Ebanks-Landell, Pierre (Golbourne 33), Beckles, Vela, Edwards, Laurent, Cummings (Walker 46), Udoh, Lang (Love 55).

Unused subs: Burgoyne, McAleny, Goss, Caton.

Booked: Vela, Ebanks-Landell, Edwards Sent off: Vela Oxford United (4-3-3): Eastwood, Long, Dickie, Moore, Ruffels, Gorrin (Agyei 57), Brannagan, Browne, Henry, Taylor (Mackie 90+1), Holland (Sykes 40).

Unused subs: Stevens, Forde, Thorne, Kelly.

Booked: Brannagan Referee: Sebastian Stockbridge (Tyne & Wear).

Attendance: 6,474 (928 visitors)