Norwich moved top of the Championship with a thumping 4-0 win at Sheffield Wednesday.
Mario Vrancic missed an early penalty but the Canaries took control with two quickfire goals early in the second half.
The first came when Teemu Pukki turned in Vrancic’s deflected effort, before Jamal Lewis’s cross looped to Emi Buendia who made it two in the 56th minute.
Pukki tapped in his eighth of the season from Max Aarons's cross and Sheffield Wednesday goalkeeper Cameron Dawson gifted a fourth – and almost a fifth – to Dennis Srbeny.
The win lifted the Canaries ahead of Sheffield United and Middlesbrough, though they could still be overhauled by Leeds on Sunday.
The Blades lost 1-0 at Nottingham Forest, Lewis Grabban with the goal in the 69th minute with a deft finish after good work by Joao Carvalho. Boro later drew 0-0 with manager Tony Pulis's former club Stoke, Jordan Hugill drawing the game's best save from Potters goalkeeper Jack Butland.
Derby climbed within two points of the summit after coming from behind to beat Birmingham 3-1.
Lukas Jutkiewicz gave Blues an early lead but Mason Bennett equalised and Harry Wilson's free-kick put them 2-1 ahead.
Jack Marriott rounded off the scoring with his fifth goal in six games after being played in by Craig Forsyth.
West Brom lost ground with a shock 1-0 defeat at Hull, Fraizer Campbell with a deserved winner shortly before half-time after Jackson Irvine's header rebounded off the bar.
The Tigers remained in the relegation zone despite that win but are now five points clear of Ipswich, who were held by Preston after a dramatic cameo by substitute Paul Gallagher.
Freddie Sears’s penalty just before the interval put Ipswich ahead but Gallagher equalised with a free-kick just two minutes after coming on.
North End immediately lost goalkeeper Chris Maxwell to a red card, though, forcing Gallagher to take the gloves for the remaining quarter-hour plus eight added minutes as Preston had made all three of their substitutions.
Reading earned an overdue win as they dramatically saw off Bristol City 3-2.
Yakou Meite's opener was cancelled out by Marlon Pack and though Liam Kelly's long-range strike restored Reading's lead in first-half stoppage time, there was still time for Josh Brownhill to head City level at the break.
Leandro Bacuna grabbed a second-half winner after linking up well with Garath McCleary on the right wing.
Two late Ryan Manning penalties saw Rotherham come from behind to beat Swansea 2-1.
Oli McBurnie turned home Daniel James’s cross to open the scoring for Swansea in the 25th minute.
The lead lasted until the 79th when goalkeeper Kristoffer Nordfeldt's foul on Jamie Proctor and Leroy Fer's handball allowed Irish midfielder Manning to turn the game around.
Bradley Dack's late penalty earned Blackburn a 1-0 win over QPR while Brentford beat Millwall 2-0.
Sergi Canos scored the opener three minutes after half-time and Ollie Watkins added a late second after an excellent link-up with Neal Maupay.