Reading reignited their push for a Sky Bet Championship play-off spot with a hard-fought 2-1 victory over Luton.
Centre-back Tom McIntyre gave Reading an early lead with a precise first-time finish, while Benfica loanee Alfa Semedo added a second goal shortly before the break.
Luton improved after the interval and were rewarded in the 90th minute when substitute Kazenga LuaLua scored from long range.
After topping the table in November, Reading had won only three of their past 12 matches and lost three in four to slip out of the play-off places.
Luton had also endured a poor run, with only two victories in their past 10 games and just three in 13.
The Hatters' trip to Berkshire formed the second part of a four-match series with Reading this season.
The visitors won 1-0 at the Madejski Stadium in the Carabao Cup second round in September.
They host Reading in the FA Cup third round at Kenilworth Road on January 9 – and also in the Championship in late April.
After staging three successive matches with crowds of 2,000 home fans, the Madejski returned to behind-closed-doors affairs after the town was imposed with increased Covid-19 restrictions.
Reading started brightly, with lone striker Sam Baldock seeing a shot blocked by the Luton defence in the opening stages.
The visitors failed to heed the early warning and went behind in the ninth minute from a move clearly rehearsed on the training ground.
Sone Aluko swung in a corner from the left and McIntyre, arriving late and unmarked in the area, sent a fine left-footed volley past goalkeeper James Shea.
It was a first goal for the club for the 22-year-old academy graduate, who only started the game due to the loss through injury of captain Liam Moore.
Luton attempted to respond but, with nine-goal top scorer James Collins often isolated, most of their moves broke down on the edge of the home area.
And they were punished further four minutes before the break, following an intricate Reading move from their own half.
Baldock supplied the final pass for Semedo to run on to and easily beat Shea – also his first goal for the club.
In an effort to change the momentum, Luton manager Nathan Jones made a triple substitution at the break.
Kiernan Dewsbury-Hall, Danny Hylton and Rhys Norrington-Davies all came on but failed to make much difference as, again, Luton struggled to make headway against the solid home rearguard.
From a Dewsbury-Hall corner, though, Reading goalkeeper Rafael was finally called into action, saving comfortably from Luke Berry's tame header.
LuaLua gave Luton hope late on with a superb drive from 25 yards, but Reading held on to boost their play-off chances.
No Data Analysis info