Newcastle are the Christmas leaders in the Sky Bet Championship after a 2-1 win at Burton, but several late goals ensured victory for many of the chasing pack.

Rafael Benitez's men were pushed all the way in their first ever meeting with Burton, despite taking a 15th-minute lead through Dwight Gayle.

Lloyd Dyer quickly equalised, but Mohamed Diame restored Newcastle's advantage before half-time and the visitors held on for a third straight win.

Derby's seven-match winning run was finally ended as they were held to a 2-2 draw at Fulham.

Tom Ince put the Rams ahead with his second goal of the week, but it was cancelled out by Floyd Ayite in first-half stoppage time.

Dwight Gayle puts Newcastle ahead against Burton (PA)

Stefan Johansen then pounced on a poor clearance to put Fulham in front, but Alex Pearce's header from an Ince corner ensured the points were shared.

Reading, Leeds and Sheffield Wednesday all left it late to snatch victories and keep the pressure on the pacesetters.

Reading twice conceded equalisers at Blackburn as goals from Dominic Samuel and Liam Moore were cancelled out by headers from Danny Graham and debutant Wes Brown, before George Evans struck in injury time to snatch a 3-2 victory - Reading's first win at Ewood Park.

Rafa Benitez gestures to his Newcastle players during the 2-1 win over Burton Albion (PA)

Wednesday scored an injury-time penalty to break Rotherham hearts in the South Yorkshire derby at Hillsborough.

The rock-bottom Millers looked set to earn just their second away point of the season until Steven Fletcher's last-gasp spot-kick after Richard Wood, who was sent off, was adjudged to have bundled over Lucas Joao.

Leeds consolidated their place in the top six with a 1-0 victory over Brentford at Elland Road after captain Kyle Bartley headed home a Stuart Dallas cross in the 89th minute.

Derby County saw their seven-match winning streak ended in a 2-2 draw with Fulham (Getty)

The game of the day was at Cardiff where Barnsley edged a seven-goal thriller.

Barnsley responded to Sean Morrison's early header for Cardiff with a Sam Winnall brace and Josh Scowen goal to secure a two-goal advantage at the break.

Peter Whittingham and Anthony Pilkington looked to have rescued the home side, but Ryan Williams came off the bench to grab Barnsley's winner in the fifth minute of stoppage time.

Gianfranco Zola took charge of Birmingham for the first time since replacing Gary Rowett (Getty)

There was similar drama at the DW Stadium where a header from David McGoldrick two minutes from time secured a 3-2 victory for Ipswich against Wigan.

Town took an early lead through Brett Pittman's penalty, but two goals from Yanic Wildschut threatened to give Wigan their first home win since September 27.

Pittman equalised midway through the second half after good work from McGoldrick, who then headed in off a post for the winner.

Daniel Johnson celebrates scoring for Preston North End (Getty)

Paul Lambert claimed his second win as Wolves boss with a 2-0 victory over Nottingham Forest at the City Ground thanks to goals in each half from Helder Costa and Ivan Cavaleiro in an otherwise poor game.

Bristol City's poor run continued as they slipped to a 2-1 defeat at home to Preston. Simon Makienok's volley put Preston ahead and, after substitute Aaron Wilbraham equalised for the hosts, Daniel Johnson grabbed the 85th-minute winner.