BILLY Bodin breathed fresh life into Oxford United’s play-off push with a late winner to sink high-flying MK Dons.

The substitute latched on to captain Dean Lewington’s loose pass four minutes from time, before playing a give and go with Matty Taylor and firing inside the near post.

It slashed the gap to the Sky Bet League One play-off places to two points and rewarded a vastly improved second-half display, after third-placed MK were comfortably on top before the break.

The U’s needed Ciaron Brown’s second clearance off the line in as many games to go in level at the interval, before Taylor was thwarted by Jamie Cumming at point-blank range after the restart.

That chance looked set to haunt the hosts, but Bodin fired home as United did the double over MK - keeping a welcome first clean sheet since February in the process.

Bodin was the only United player to drop out of the starting XI after taking a knock at Fleetwood Town on Friday, with Gavin Whyte replacing him and Mark Sykes dropping into midfield.

Meanwhile, Marcus Browne made a welcome return to the bench after recovering from the hamstring injury he sustained at Portsmouth on March 1.

An injury to Mo Eisa saw Hiram Boateng spearhead the MK attack, as the forward looked for a repeat of his goal against United in December.

The visitors were firmly in charge in the first half, with the U’s unable to register a single shot before the break.

MK had two sighters in the opening ten minutes as Lewington tested Jack Stevens from 20 yards, before the goalkeeper got down smartly to stop Troy Parrott’s fierce effort.

The away side moved the ball around with confidence as they looked for a gap in United’s defence, and one presented itself midway through the half.

Scott Twine sent Parrott clear through the middle and the Tottenham Hotspur loanee beat Stevens with the dink, only for Brown to race back and clear off the line.

The same player flashed a header over from a corner six minutes from half-time, before Luke McNally was booked for hauling back Twine when he ran into trouble – something several U’s players were guilty of in the first half.

MK enjoyed more than 60 per cent of possession before the break and United needed to carry more threat, with Whyte winning their first corner straight after the restart.

Two minutes later the hosts had their first chance – and they really should have scored.

Harry Darling left Sykes’ through ball without realising Taylor was behind him and United’s top-scorer took the shot early, with Cumming reacting quickly to make the save.

Still, the U’s had started the second half much better and they cut MK open with a flowing move on the hour mark, giving Nathan Holland the chance to cut inside and see an effort deflected behind.

United were in the ascendancy and Dons boss Liam Manning made the first change, bringing on David Kasumu for Boateng as they switched to two up front.

Bodin replaced Whyte moments later and soon floated a cross in for Elliott Moore, but the centre back could not keep his header down.

MK reminded United of their threat ten minutes from time when Parrott flashed a cross into the six-yard box, with Conor Coventry inches away from connecting.

The U’s made a double change as Browne and Ryan Williams replaced Sykes and Holland, but it was their first substitute who provided the all-important goal.

Lewington sold Josh McEachran a hospital pass and Bodin pounced, playing a one-two with Taylor and firing home before Cumming could set himself.

The roof came off the Kassam Stadium and United held out for a huge three points to keep themselves right in the hunt for the top six.

Oxford United (4-3-3): Stevens, Long, McNally, Moore, Brown, Sykes (Browne 81), Kane, Brannagan, Whyte (Bodin 69), Taylor, Holland (Williams 81).

Unused subs: Eastwood, Forde, Seddon, McGuane.

Booked: McNally, Taylor, Brannagan.

MK Dons (3-4-3): Cumming, O’Hora, Darling, Lewington, Kessler- Hayden, Coventry, McEachran, Harvie, Boateng (Kasumu 67), Parrott (Corbeanu 85), Twine.

Unused subs: Ravizzoli, Davies, Mason, Baldwin, Kemp.

Booked: None.

Referee: Anthony Backhouse (Cumbria).

Attendance: 9,685 (1,608 visitors).