Huddersfield boosted their Sky Bet Championship survival hopes with a shock 4-2 victory at home to promotion-chasing Middlesbrough.
Neil Warnock’s team fell behind just before the break, Marcus Forss putting the visitors ahead.
But an inspired Terriers side came out fighting in the second half and claimed a vital three points through goals from Josh Ruffels, Josh Koroma and two from Matty Pearson. Chuba Akpom scored Middlesbrough’s second but there was no fightback from Michael Carrick’s side.
Boro’s nightmare in West Yorkshire allowed Sheffield United in second place to increase their lead over them to six points, with James McAtee’s close-range effort enough to beat hosts Norwich.
Stubborn Millwall took a valuable point back to London from West Brom, battling out a goalless draw to stay in the play-off places.
Blackburn slipped to sixth, losing 1-0 away to struggling Birmingham thanks to Reda Khadra’s effort from outside the box.
Coventry’s march up the league came to a sudden halt, losing 4-0 at home to Stoke.
Jacob Brown, Tyrese Campbell, William Smallbone and Ki-Jana Hoever all found the back of the net for the visitors.
There was a thrilling Welsh derby in Cardiff, with Swansea scoring a last-gasp winner.
Joel Piroe opened the scoring for the visitors after just three minutes, with Liam Cullen doubling the lead after 33 minutes.
Two minutes later Jaden Philogene pulled one back for Cardiff and Sory Kaba put the home side level with just seven minutes remaining.
But Ben Cabango, with nine minutes of stoppage time on the clock, scored to make it 3-2 to the Swans.
Bristol City and Reading shared the points in a 1-1 draw at Ashton Gate. Tommy Conway put the home side ahead in first-half stoppage-time, but Lucas Joao headed in Reading’s equaliser after 72 minutes.
Bottom side Wigan gave their faint survival hopes a boost with a 1-0 victory at home to QPR, Max Power’s sixth-minute penalty enough to earn the points.
Hull and Rotherham played out a 0-0 draw at the MKM Stadium.
In the two early games, Blackpool remain deep in relegation trouble following a 3-1 defeat at Preston. Brad Potts, Ben Whiteman and Tom Cannon scored the goals that keep North End’s play-off hopes alive with Jerry Yates scoring a late consolation.
And Luton remain firmly in the play-off hunt with a 2-0 victory over Watford thanks to strikes from Gabriel Osho and Allan Campbell.
Leaders Burnley recorded a goalless draw with Sunderland on Friday night.
Sky Bet League One
Devante Cole scored twice as Barnsley resumed their late-season Sky Bet League One promotion push with a dominant 5-0 home win against lowly Morecambe.
Dynel Simeu’s own goal, Herbie Kane’s 33rd-minute strike and Luke Thomas also helped the Tykes keep pace with third-placed Ipswich, who triumphed 2-0 at Derby thanks to Conor Chaplin’s effort on the counter and George Hirst’s later contribution.
Charlton cruised their mid-table clash with 10-man Shrewsbury 6-0 as Scott Fraser, Albie Morgan and Jesurun Rak-Sakyi notched in the first half at The Valley and Miles Leaburn rubber-stamped the victory with a brace after the hour.
His second came from the penalty spot after Tom Flanagan was sent off for handling a Steven Sessegnon shot in the box, with Macaualey Bonne rubbing salt in the Shrews’ wounds with a sixth at the death.
Leaders Sheffield Wednesday continue to toil in their attempts to confirm a return to the Championship as Danny Mandroiu cancelled out Tommy Smith’s opener to earn Lincoln a 1-1 draw at Hillsborough, leaving the Owls winless in five.
Sam Smith and Lloyd Jones sealed a 2-0 success at Port Vale to keep 23rd-placed Cambridge afloat, while Pierce Sweeney rescued Exeter from defeat at Fleetwood with a last-gasp goal to make it 2-2.
David Wheeler bagged a brace for Wycombe, only for Jonathan Leko’s 71st-minute leveller to help MK Dons draw 2-2 at Adams Park.
Elsewhere, Owen Dale fired Portsmouth to a 1-0 home win over bottom side Forest Green, Cheltenham and Burton drew 0-0, and Peterborough and Oxford also finished goalless, although the point was enough to take Posh into the play-off spots.
Sky Bet League Two
Danny Lloyd-McGoldrick grabbed basement boys Rochdale a League Two survival lifeline with the only goal in a 1-0 triumph at AFC Wimbledon, but Hartlepool’s late comeback against Swindon means the battle is far from over.
Rushian Hepburn-Murphy’s fine opener had the Robins ahead for most of the game in the north east, until Connor Jennings and Oliver Finney turned the match on its head as Pools won 2-1 to move to within two points of Crawley and safety.
The Red Devils were thumped 4-1 at Mansfield, for whom Davis Keillor-Dunn scored twice.
Leaders Leyton Orient needed a Jon Mellish own goal in the 73rd minute to secure a 1-0 home win over Carlisle, with Charlie Kelman seeing red late on.
In the early kick-off, Andy Cook scored a late winner as Bradford came from behind to beat Grimsby 3-2 at Valley Parade.
Robbie Gotts scored deep into second-half stoppage time as Barrow edged Gillingham 2-1, while Colchester drew 0-0 with Newport, and Crewe pulled further away from relegation danger as Courtney Baker-Richardson and Connor secured a 2-0 win at Doncaster. Northampton and Stevenage and Walsall and Sutton both finished 1-1.