Bournemouth moved six points clear at the top of the Sky Bet Championship with a 1-0 win at Stoke.
Dominic Solanke's goal early in the second half proved enough for victory, with Republic of Ireland international Mark Travers keeping his seventh clean sheet of the season.
Stoke sit sixth following a second straight league defeat.
QPR are up to fifth after a late goal from Ilias Chair secured a 1-0 win over Blackburn at Loftus Road.
Lyle Taylor scored twice in the closing moments as Nottingham Forest chalked up a fourth straight win with a dramatic 2-1 victory at Bristol City.
The Robins looked on course for a first home win since January on the back of Alex Scott’s first-half strike.
However, Forest produced an amazing finale in stoppage time after Taylor equalised from the penalty spot before then stabbing in a rebound to snatch all three points.
Jake Cooper struck in stoppage time as Millwall beat ten-man Sheffield United 2-1 at Bramall Lane.
Jed Wallace had given the Lions the lead in the 11th minute but a penalty from Billy Sharp had the Blades level on the stroke of half-time.
Blades midfielder Morgan Gibbs-White was dismissed for a second caution in the 54th minute.
Then just as time seemed up, with two minutes of the additional six played, Cooper fired in a 20-yard effort to snatch all three points to put Millwall in tenth.
Elijah Adebayo hit an equaliser with seven minutes left as Luton fought back to draw 2-2 at Derby.
Tom Lawrence put the Rams ahead midway through the first half, but substitute Fred Onyedinma levelled things up shortly after the restart.
Adebayo made sure the Hatters left with a point when he headed in late on – and Onyedinma almost won it as his shot crashed against the crossbar.