Fulham failed to put the pressure on the Championship's top two after losing 2-1 at home to Reading.
With second-placed West Brom hosting leaders Leeds in the evening kick-off, the Cottagers knew they could move six points behind.
But they were two goals down inside 48 minutes following efforts from John Swift — his third in as many games — and Charlie Adam.
Fulham failed to fight back despite Ivan Cavaleiro halving the deficit on the hour mark, handing the Royals a fourth consecutive win and allowing Brentford and Nottingham Forest to leapfrog Scott Parker’s side in the table.
Ollie Watkins took his goal tally to 17 for the season with a brace as Brentford beat 10-man Bristol City 4-0 at Ashton Gate.
Bryan Mbeumo bagged his sixth goal in eight games and, after City defender Ashley Williams was sent off shortly after, Said Benrahma added a second before Watkins struck twice late on.
Nottingham Forest's 3-2 victory over Blackburn at the City Ground was secured by Lewis Grabban's double.
Joe Lolley’s cross went all the way in after 22 minutes and then Grabban netted from the penalty spot.
Stewart Downing pulled one back before half-time, but Grabban took his tally to 14 for the season before Joe Worrall turned into his own net to set up a nervy final 19 minutes.
Sheffield Wednesday slipped out of the top six following a 1-0 home loss to Hull, with Jarrod Bowen netting his 17th goal of the season to leave the Tigers one point off the play-offs.
Rudy Gestede's first strike since February 2018 and a Ben Davies own goal ensured Middlesbrough beat Preston 2-0 and claim a fourth consecutive win.
Nahki Wells scored a hat-trick to fire QPR to 6-1 victory over Cardiff at Loftus Road.
Bright Osayi-Samuel claimed a brace while Eberechi Eze also netted, with Will Vaulks grabbing nothing more than a late consolation.
Connor Mahoney proved the difference as Millwall beat bottom-placed Luton 3-1 at the Den to move up to sixth.
Town defender Sonny Bradley’s header was cancelled out by Tom Bradshaw before Mahoney was introduced after 71 minutes
The winger scored and then set up Matt Smith for a third to condemn Town to a ninth consecutive defeat on the road and leave them three points from safety.
Two goals from Tyrese Campbell helped Stoke move one point above the relegation zone courtesy of a battling 5-2 victory at Huddersfield.
After Sam Vokes fired the Potters in front in the 15th minute, the Terriers turned the game on its head early in the second half following Steve Mounie’s third strike in four games and a Danny Batth own goal.
However, Nick Powell equalised, Campbell struck twice and Lee Gregory sealed a late fifth to secure an impressive comeback.
Wigan moved off the bottom with a 3-2 triumph at Birmingham.
Josh Windass put the visitors ahead and, although Kerim Mrabti equalised, Gary Gardner’s own goal and Cedric Kipre’s effort meant the Latics secured only their second away win in 36 away matches.
Jacques Maghoma made Wigan sweat, scoring with nine minutes to go, but they held on.