A Finn Azaz double capped a brilliant first half display by Middlesborough after Ben Doak's opener, but Sheffield Wednesday surged back from a 3-0 half-time deficit to snatch a Sky Bet Championship point in a 3-3 draw with the 10-man home side at the Riverside Stadium.
Second-half strikes from Svante Ingelsson, Josh Windass and Yan Valery sealed the comeback by the hour mark while the hosts had Rav van den Berg sent off.
Ireland underage international Rocco Vata scored deep into injury time to claim a 2-1 win for Watford against Portsmouth at Vicarage Road.
Burnley narrowed the gap on leaders Sheffield United to a single point after claiming an impressive 2-0 win at Bramall Lane.
Josh Brownhill headed the Clarets in front from a Bashir Humphreys cross just before half-time and Zian Flemming's long-range effort after the initial free-kick had been blocked secured the points for Scott Parker’s in-form side.
Sunderland’s hopes of maintaining the pressure on the sides above them were hit by a last-gasp equaliser by Harry Leonard for Blackburn at Ewood Park.
Two swift second-half goals from Chris Rigg and Wilson Isidor had wiped out Yuki Ohashi’s early opener and looked set to win it for the Black Cats until Leonard fired home in the 90th minute.
Frank Lampard got one over his old England team-mate Wayne Rooney as rock-bottom Plymouth were thumped 4-0 at Coventry.
All the Sky Blues’ goals came in the first half from Tatsuhiro Sakamoto, Ephron Mason-Clark and a Josh Eccles double, while Argyle had Callum Wright sent off three minutes from time.
Gary Rowett got his reign as Oxford boss off to a bright start as goals from Mark Harris, Ciaron Brown and Przemyslaw Placheta saw them cling on for a 3-2 win over Cardiff; Callum Robinson was on target for Cardiff.
Liam Cullen’s double sent Swansea on their way to a 3-0 win over QPR and first half goals from Emiliano Marcondes and Oscar Schwartau were enough for Norwich to see off Millwall at Carrow Road.
Brad Potts scored the only goal in Preston’s 1-0 win over Hull and Scott Twine did likewise as Bristol City beat Luton by the same score.
Jerry Yates scored for the first time in six matches to help Derby earn a much-needed 2-1 victory over managerless West Brom.
The Baggies suffered a late blow before Christmas when Carlos Corberan decided to vacate his position for Valencia, which gave interim head coach Chris Brunt just one day to prepare his team for the visit to Pride Park.
Derby went into the half-time break with a deserved lead courtesy of Yates' fifth goal of the season and despite West Brom being second best throughout the half, they were denied by the woodwork on two separate occasions through Darnell Furlong and John Swift.
Mason Holgate’s own goal relieved the pressure inside Pride Park but those nerves returned when Grady Diangana pulled a goal back for the visitors.
In the late kick-off, Joel Piroe bagged a brace as Leeds moved to the top of the table with a 2-0 win away at struggling Stoke.
The Whites' leading marksman struck either side of half-time to move his team above Sheffield United, who were beaten by fellow promotion chasers Burnley earlier in the day, at the summit of the table on goal difference.
The win was Leeds’ seventh in their last nine games overall, but just their second in their last eight away matches.
As for Stoke, they remain in 19th place – three points outside the relegation zone – having now gone nine games without victory.