Rowan Vine beat rush hour on the M25 to score the goals which finally put the brakes on Reading's inexorable march to the Premiership.
The Luton striker feared he would miss tonight's Coca-Cola Championship match after being stuck in traffic on his way to Kenilworth Road. But his two first-half goals ensured the leaders - who had not lost in this competition since the opening day of the campaign - suffered their first league defeat on the road this term.
It looked as though Reading - whose promotion push is unlikely to be damaged by this loss - were marching to a 34th match unbeaten when Kevin Doyle gave them the lead inside a minute. But Vine scored twice in five minutes to turn the match around, and former Reading man Dean Morgan sealed Luton's victory with a 51st-minute third.
Doyle scored his second in stoppage time, but Luton held on.
Luton's poor defending cost them a win in the midweek 3-3 draw with Cardiff - and more slackness at the back saw them fall behind tonight after only 18 seconds.
Leon Barnett half-cleared an innocuous left-wing cross from Bobby Convey against Doyle, and the ball fell perfectly for the Irishman to clip in his 13th goal of the season from eight yards.
The home team were shapeless in the opening 10 minutes. But they slowly began to find their rhythm - and Vine levelled with a well-worked effort in the 20th minute.
The former Portsmouth front man played a one-two with strike partner Steve Howard before lifting the ball over Marcus Hahnemann from eight yards for his seventh goal of the season.
Five minutes later, Vine put Luton in front after another superb move.
Kevin Foley made a fine run from midfield which was picked out by Ahmet Brkovic's pass from deep, and the talented 21-year-old cut the ball back from the right for Vine to slide a precise shot into Hahnemann's bottom-right corner.
It nearly became worse for Reading, who were without influential duo Steve Sidwell and Glen Little through injury.
Vine missed an easy chance; Howard hit the bar from four yards, and Barnett had a header rightly disallowed for offside.
Reading thought they should have had a penalty when Doyle tangled with Markus Heikkinen.
Luton started the second half as they had concluded the first - and edged further ahead five minutes after the re-start.
Morgan - a summer signing from the Royals - moved in off the left flank before swapping passes with Howard and guiding a 20-yard shot into the bottom-left corner.
Reading rallied - and in injury time, substitute Stephen Hunt crossed for Doyle to head his second, but it was not enough for Steve Coppell's men.
Teams:
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.
Att: 8,705
Ref: K Wright (Cambridgeshire).