Runaway Championship leaders Reading suffered their first League defeat in 33 games at the hands of Luton.
Luton's Markus Heikkinen (front) and Kevin Doyle battle for the ball
The Royals had not lost since the first day of the season but two goals by Rowan Vine helped Luton triumph 3-2.
Kevin Doyle put Reading ahead from close range after 18 seconds but Vine finished off a fine passing move to level and slid in a second soon after.
Dean Morgan found the bottom corner for Luton's third goal and Doyle's late headed second could not rescue Reading.
The Royals' last Championship defeat was at home against Plymouth on 6 August.
They remain on course for promotion however, standing 12 points clear of second-placed Sheffield United and 21 points clear of third-placed Leeds.
Steve Coppell's side looked on course for a 26th League win of the season when Doyle capitalised on a mistake by Leon Barnett and slotted home from eight yards.
But Vine levelled on 20 minutes, playing a one-two with Steve Howard and lifting the ball over Marcus Hahnemann.
And five minutes later the Luton striker notched again after another impressive move. Ahmet Brkovic set Kevin Foley free and from his cut-back, Vine found the corner.
Reading felt they should have had a penalty when Doyle tangled with Markus Heikkinen but Luton were creating more chances of their own and should have scored when Howard hit the bar from four yards.
Morgan did make it 3-1 five minutes after the interval, finding space to guide the ball past Hahnemann from the edge of the area.
Although Reading rallied, Luton looked strong and their victory was not in doubt even when Doyle headed home substitute Stephen Hunt's cross deep in injury time.
The Hatters move up to eighth in the table, seven points behind Preston in the final play-off spot and having played two games more.
Luton manager Mike Newell:
"I did fancy us to beat them. But I didn't want to say it because I said it last time we played them - and it rebounded on us.
"If we play decent football we're capable of beating anybody here.
"We're delighted, not because it ends their unbeaten run but because they're the best team in the division."
Reading manager Steve Coppell:
"We were beaten, and it hurts. Footballers thrive on not getting beaten, and it's a kick in the groin.
"But the sun will be shining tomorrow, and we've got a game again next week against Preston which will be another important one for us.
"The players will come back in and pick themselves up, take it from me."
Luton: Beresford, Foley, Davis (Holmes 81), Heikkinen, Barnett, Morgan (Showunmi 83), Brkovic, Nicholls, Edwards, Howard, Vine (Feeney 80). Subs Not Used: Perrett, Brill.
Booked: Vine, Beresford.
Goals: Vine 20, 26, Morgan 51.
Reading: Hahnemann, Murty, Ingimarsson, Sonko, Shorey, Oster (Lita 79), Gunnarsson, Harper, Convey (Hunt 64), Kitson, Doyle. Subs Not Used: Halls, Stack, Makin.
Booked: Doyle, Kitson, Oster, Shorey.
Goals: Doyle 1, 90.
Ref: K Wright (Cambridgeshire).