Leeds failed to make up ground at the top of the table after being held by Preston. A flowing first-half move upfield from the visitors ended up with Alan Browne, who beat Kiko Casilla to break the deadlock. Stuart Dallas eventually equalised in the dying embers of the match, his deflected shot from the edge of the box flying in to ease growing tension around Elland Road.
West Brom looked set to cement their place at the top of the table with a win over Barnsley, but were pegged back late on. Filip Krovinovic made the most of a poor kick from Samuel Sahin-Radlinger, sending his miscued clearance back over the goalkeeper’s head, but Aapo Halme converted a cross in the final minute to level.
There was a late equaliser at Luton, too, where Fulham striker Bobby Decordova-Reid lashed home in the 94th minute after Simon Sluga palmed a header into his path. It was the third time Fulham pegged the hosts back; Kazenga LuaLua opened the scoring but Decordova-Reid’s first goal cancelled that out. James Collins put Luton back ahead but Aleksandar Mitrovic levelled. Harry Cornick gave the hosts the lead again five minutes from time, only for Decordova-Reid to break Hatters hearts.
Nothing could compare to Stoke’s comeback as Tyrese Campbell and Sam Vokes pounced in injury-time to down Sheffield Wednesday 3-2. James McClean opened the scoring but Morgan Fox and Tom Lees turned things around for Wednesday. Campbell was the calmest man in the box, volleying home from six yards and then Vokes showed his striking instinct in the 97th minute to prod home.
Charlton got the better of Bristol City in another five-goal thriller. Andreas Weimann cancelled out Macauley Bonne’s opener less than a minute after the break. Niclas Eliasson, who assisted the opener, then scored himself, only to see Bonne level things up and Alfie Doughty to pop up at the back post for the winner.
Wigan were hopeful of moving off the bottom of the table with a win over Derby, only for Martyn Waghorn to net a 93rd minute equaliser. Lewis Grabban scored twice for Nottingham Forest as they boosted their promotion hopes with a win at Hull.
Djed Spence scored his first professional goal to give Middlesbrough a win over Huddersfield. Jed Wallace’s stunning free-kick earned Millwall a point against former manager Neil Harris’ Cardiff. Ollie Watkins struck twice to help Brentford see off Swansea, while Blackburn and Birmingham exchanged penalties to share the points.
Top of the table Wycombe lost at Portsmouth, where Ben Close and Ronan Curtis made the difference. Out-of-form Ipswich could only muster a goalless draw at home against Gillingham, but still muscled back into the top two.
Peterborough dropped out after a disappointing Boxing Day, losing 3-0 at home to Doncaster, a result made worse by ex-Posh player Kieran Sadlier scoring twice. Oxford United got the better of former manager Michael Appleton’s Lincoln thanks to Sheldon Baptiste, and move up to third.
Forty-year-old Aaron Wilbraham had an interesting day for Rochdale, scoring two goals, and one own goal, as Fleetwood escaped victorious. In another Lancashire derby, Sean McConville hit a 91st minute winner for Accrington at Blackpool.
The top two were both victorious as Swindon downed Cambridge 4-0, with Keshi Anderson hitting a hat-trick. Lee Martin scored the only goal of the game as Exeter hosted Newport. Meanwhile, third place Crewe were defeated at Salford City, ending a run of five games without victory.
Down at the bottom, Stevenage collected a point in a goalless draw against Forest Green Rovers. Morecambe suffered a 2-1 home defeat against Oldham to leave them second from bottom.
CJ Hamilton completed Mansfield’s comeback against Port Vale, having been two goals behind with just nine minutes left on the clock. Colchester moved up to fourth, winning the lunchtime kick-off at Leyton Orient, with Theo Robinson scoring twice.