Wolverhampton Wanderers saw their lead at the top of England's second tier Championship cut to nine points after they suffered a 2-0 loss at home to Nottingham Forest.
It was Wolves' first league defeat since late October.
First-half goals from Kieran Dowell and Ben Osborn were enough for Forest to pick up a first win in seven games, and give new boss Aitor Karanka his first victory since taking charge on Saturday.
Scott Hogan scored twice in three first-half minutes as Aston Villa, still without Socceroos skipper Mile Jedinak, beat Barnsley 3-1 to close the gap on second-placed Derby to three points.
Hogan's double was followed up by Dimitri Cavare's goal for Barnsley, with Conor Hourihane adding a third for Villa against his former club.
Australian defender James Meredith's Millwall snatched a 4-3 victory over 10-man Leeds United after a quite incredible game at Elland Road.
Aiden O'Brien put the visitors ahead before home captain Liam Cooper was sent off, making it three red cards in as many games for the hosts. Lee Gregory then scored seemingly to put the game to bed, before Pierre-Michel Lasogga got Leeds back in it.
Kemar Roofe then scrambled an equaliser and Lasogga thought he had won it with a 25-metre effort. But Tom Elliott levelled three minutes from fulltime and Jed Wallace secured the win in stoppage time.
Tony Pulis' Middlesbrough won on the road at Queens Park Rangers, who featured Socceroos midfielder Massimo Luongo, thanks to goals from Daniel Ayala, George Friend and Adama Traore.
Joel Asoro's goal proved enough for struggling Sunderland as they pulled Hull City closer to trouble with a 1-0 win, Socceroo Jackson Irvine coming on as a substitute for the Tigers.
Sheffield United enjoyed a 2-1 triumph on the road at Norwich City.
Manchester United loanee James Wilson opened the scoring and Clayton Donaldson added a second. Ivo Pinto replied but it was not enough.
Cardiff missed the chance to move level on points with second-placed Derby in the late game as they were held at Sheffield Wednesday.
