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.

Facebook Twitter Pinterest Bobby Decordova-Reid (No 14) scores a late leveller for Fulham at Luton. Photograph: Simon Dael/BPI/Shutterstock

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, while Ollie Watkins struck twice to help Brentford see off Swansea.

Blackburn were held to a 1-1 draw by Birmingham in a game of two penalties, with Rovers’ play-off hopes further hit by news that top scorer Bradley Dack could be out for a year with a knee ligament injury. In the late game, John Swift’s long-range strike earned Reading victory over QPR.

Quick guide Championship results Show Hide Barnsley 1-1 West Brom; Blackburn 1-1 Birmingham; Brentford 3-1 Swansea; Cardiff 1-1 Millwall; Charlton 3-2 Bristol City; Hull 0-2 Nottingham Forest; Leeds 1-1 Preston; Luton 3-3 Fulham; Middlesbrough 1-0 Huddersfield; Stoke 3-2 Sheffield Wednesday;

Wigan 1-1 Derby

League One

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.

Facebook Twitter Pinterest Ben Close (left) and Ronan Curtis (right) celebrate the opening goal against Wycombe. Photograph: Graham Hunt/ProSports/REX/Shutterstock

Peterborough dropped out after a disappointing Boxing Day, losing 3-0 at home to Doncaster, with 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.

Quick guide League One results Show Hide Blackpool 0-1 Accrington; Bristol Rovers 1-2 Wimbledon; Burton 4-2 Tranmere; Ipswich 0-0 Gillingham; Oxford United 1-0 Lincoln; Peterborough 0-3 Doncaster; Portsmouth 2-0 Wycombe; Rochdale 2-3 Fleetwood; Shrewsbury 1-2 Rotherham; Southend 2-2 MK Dons; Sunderland 0-0 Bolton

League Two

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.