Match ends, Oxford United 2, Luton Town 3.
Joe Pigott's double kept Luton's slim League Two play-off chances alive with victory over second-placed Oxford.
The hosts took the lead at the Kassam Stadium as Danny Hylton netted from Kemar Roofe's pass.
A slip by U's keeper Benji Buchel allowed Pigott to equalise before Olly Lee's volley put the visitors ahead.
Oxford drew level when centre-half Chey Dunkley headed in Chris Maguire's free-kick but Pigott's tidy finish just gave Luton all three points.
A first loss in six for the home side handed Northampton Town the League Two title, while Luton are six points adrift of seventh-placed Wimbledon - who have a game in hand - with four matches left to play.
Luton Town manager Nathan Jones told BBC 3CR:
"We want to be in the position that Oxford are in next year in terms of the football they are playing and the way the club is set up.
"That being said I thought we were brilliant today and showed we can be like that.
"We can improve Luton town. Any player who comes in can improve the team, but we need to do our homework.
"Joe Piggott is one of those players that we researched, and although he has taken time to settle, he has shown what he can do today."
- 16KennyBooked at 75mins
- 28MaguireSubstituted forRobertsat 77'minutes
- 10HyltonBooked at 32mins
- 7WaringSubstituted forBoweryat 61'minutes
- 19LeeSubstituted forMcGeehanat 70'minutes
- 11GreenSubstituted forBantonat 83'minutes
- 23McQuoidSubstituted forHowellsat 90+4'minutes
- Trevor Kettle
- Shots on Target
Second Half ends, Oxford United 2, Luton Town 3.
Substitution, Luton Town. Jake Howells replaces Josh McQuoid.
Foul by John Lundstram (Oxford United).
Pelly Ruddock (Luton Town) wins a free kick in the attacking half.
Attempt missed. Liam Sercombe (Oxford United) left footed shot from outside the box is just a bit too high.
Corner, Oxford United. Conceded by Glen Rea.
Foul by Cheyenne Dunkley (Oxford United).
Pelly Ruddock (Luton Town) wins a free kick in the defensive half.
Corner, Luton Town. Conceded by John Mullins.
Danny Hylton (Oxford United) wins a free kick in the defensive half.
Foul by Stephen O'Donnell (Luton Town).
Foul by James Roberts (Oxford United).
Alex Lawless (Luton Town) wins a free kick in the attacking half.
Attempt missed. Danny Hylton (Oxford United) header from the centre of the box is too high following a corner.
Corner, Oxford United. Conceded by Alan Sheehan.
Substitution, Luton Town. Zane Banton replaces Danny Green.
Foul by Kemar Roofe (Oxford United).
Alan Sheehan (Luton Town) wins a free kick on the right wing.
Attempt saved. Cheyenne Dunkley (Oxford United) right footed shot from outside the box is saved in the bottom right corner.