All 72 EFL clubs were in action on Boxing Day, with Norwich, who fought back against Forest to score twice in stoppage time, losing ground on Leeds at the top of the Championship.
Here’s how the drama unfolded.
Birmingham 2-0 Stoke
Jacques Maghoma and Omar Bogle were on target as Birmingham completed the double over Stoke.
It was the Potters’ first defeat in 11 games since they were beaten 1-0 by the Blues at the bet365 Stadium in October. Victory sees Birmingham climb into seventh place, two points adrift of the final play-off place, while the Potters are a further three points behind in 11th.
Bolton 2-1 Rotherham
Bolton ended their 13-game winless run, which stretched back to September. Against Rotherham, they took the lead through Sammy Ameobi, with Will Vaulks levelling. However, the hosts sealed the points when Clayton Donaldson set Gary O’Neil up to score from 10 yards out – his first goal for the club.
Bristol City 1-1 Brentford
Neal Maupay volleyed a spectacular goal to earn Brentford a point.
The home side took a 20th-minute lead when poor marking at a Jamie Paterson corner from the left allowed right-back Eros Pisano to net his first goal for the club with a downward header.
But Maupay equalised with a superb right-footed shot from just outside the six-yard box eight minutes into the second half, sending the ball flashing into the roof of the net.
Leeds 3-2 Blackburn
Kemar Roofe scored twice in stoppage time to give the leaders a dramatic win when it appeared Rovers had sealed all three points.
Charlie Mulgrew’s free-kick put the visitors 2-1 in front in the 90th minute, but for the second match in succession, Roofe gave his side an unbelievable victory. They are now two points clear of Norwich.
Middlesbrough 0-1 Sheffield Wednesday
Adam Reach got winner at the Riverside, as Sheffield Wednesday made it two wins from as many games under caretaker manager Lee Bullen. Boro old boy Reach’s excellent goal in the 20th minute proved to be the difference as the visitors dug in following the departure of Jos Luhukay last week.
Millwall 1-0 Reading
Millwall climbed above Reading and out of the relegation zone as Jose Gomes’ first game as Royals boss saw his side end a narrow defeat with nine men as both Tyler Blackett and Leandro Bacuna saw red. A Jed Wallace free-kick after eight minutes was the only goal of the game.
Norwich 3-3 Nottingham Forest
Onel Hernandez scored twice in stoppage-time as Norwich produced an amazing fightback to draw 3-3 at Carrow Road. They hadn’t lost since Halloween and were 3-1 down going into seven minutes of injury-time.
Forest looked to be cruising and led 3-0 with more than 20 minutes remaining, and still appeared comfortable despite Mario Vrancic reducing the arrears in the 77th minute.
Preston 1-2 Hull
Jackson Irvine scored twice to give Hull victory at Preston. Irvine gave the away side a first half lead, but Alan Browne equalised straight after the break before Irvine scrambled in his second from a corner to earn the Tigers their fourth victory in five league matches.
QPR 3-0 Ipswich
Rangers moved within two points of the play-off places with victory against Ipswich.
At Loftus Road, they scored twice in the space of four first-half minutes, with Pawel Wszolek before Joel Lynch headed in a second. Nahki Wells sealed a third successive league win with 16 minutes remaining with his fifth goal in his past six matches.
Sheffield United 3-1 Derby
The Blades returned to winning ways and climbed above Derby thanks to this victory at Bramall Lane.
Goals from Billy Sharp, David McGoldrick and Leon Clarke secured a home win for the Blades despite a trademark Harry Wilson free-kick levelling the scores early in the first half. The result left Sheffield United fourth in the table, two points ahead of their opponents who dropped to sixth.
Swansea 0-1 Aston Villa
Wilfried Bony missed a last-minute penalty as Villa ended a run of three games without a win. Conor Hourihane’s second-half header from Alan Hutton’s cross was the only goal of the game as
the club took all three points to push them further towards the play-off places.
West Brom 2-0 Wigan
The Baggoies kept their bid to win automatic promotion firmly on course as a Jay Rodriguez double earned them a 2-0 at The Hawthorns. It was Albion’s third straight win and a sixth victory in their last eight games.
Most Popular Football News
Chelsea back into Champions League spots with win over Watford thanks to Eden Hazard
Arsenal boss Unai Emery explains why Ozil was taken off at half-time at Brighton
Arsenal held at Brighton after defensive error sees points shared at Amex
Some Chelsea fans on Twitter want Sarri gone after seeing team to face Watford
Newcastle boss Rafa Benitez gives alarming January transfer window update
Watford vs Chelsea: Preview, team news, confirmed line-ups, plus more
'What Man United are all about' – Solskjaer receives praise for Angel Gomes role
'Pathetic from Salah' – Calls for Liverpool star to be banned for 'dive'
Spurs fans love Kyle Walker-Peters stat which will embarrass Arsenal fans
Brilliant Lovren volley provokes ‘It’s our year’ reaction from Liverpool fans