Hull claimed the Sky Bet League One title with a 3-1 home win over Wigan, while Peterborough fought back to draw 3-3 against rivals Lincoln and secure their own promotion.
The Tigers – already sure of their place back in the Championship after beating Lincoln last weekend – went in front through Keane Lewis-Potter’s header in the 17th minute, but Joe Dodoo soon had Wigan level.
Hull, though, were back in front again in the 22nd minute through George Honeyman and Josh Magennis wrapped things up with a third in the second half.
Peterborough fought back from 3-0 down to grab a dramatic draw and secure promotion with a penalty from Jonson Clarke-Harris deep into stoppage time.
Imps midfielder Anthony Scully broke the deadlock on the half-hour, with Jorge Grant adding another from the penalty spot just before half-time.
Scully got his second in the 53rd minute to seemingly leave Posh’s promotion party on hold.
However, Siriki Dembele started the fightback before Clarke-Harris set up a tense finale with a 75th-minute free-kick – and then kept his cool from the penalty spot deep into stoppage time.
Rochdale, Northampton relegated
At the other end of the table, Rochdale were relegated after they were beaten 2-1 at home by Doncaster, while Northampton are also down following a 3-0 defeat by Blackpool.
Taylor Richards struck in each half to put Doncaster in control and although Matt Done pulled a late goal back, it was not enough to save Dale.
Defender Luke Garbutt put play-off chasing Blackpool in front in the 19th minute and Jerry Yates struck twice late on to seal the Cobblers’ fate.
Play-offs take shape
Sunderland moved above Lincoln into third after they won 3-1 at Plymouth. Ross Stewart gave the Black Cats the lead in the 21st minute, but the Pilgrims were level just after the hour through defender Joe Edwards.
Plymouth, though, were reduced to 10 men in the 64th minute when Jerome Opoku was dismissed for a second caution.
Chris Maguire converted a penalty with six minutes left and Denver Hume added a third in stoppage time.
Portsmouth kept up their own play-off push with a 3-1 win at AFC Wimbledon. Joe Pigott had given the Dons the lead in the 23rd minute, but it was short-lived as Ronan Curtis quickly equalised.
Defender Lee Brown then struck twice just before half-time to put Pompey in control.
Oxford are just a point outside the top six after they won 3-2 at Shrewsbury. Elliot Lee gave the visitors an early lead, but Matthew Pennington soon equalised.
The Shrews then went ahead through Josh Vela before half-time, only for James Henry to equalise and substitute Daniel Agyei then grabbed a late winner.
Chuks Aneke hit a stoppage-time equaliser as Charlton fought back to draw 1-1 at Accrington, who had gone in front through substitute Joe Pritchard with just nine minutes left.
Fleetwood drew 1-1 at home against MK Dons. Gerard Garner broke the deadlock just after the hour, but the visitors secured a point when substitute Charlie Brown struck with seven minutes left.
Ipswich won 2-1 at Swindon, who were already down. James Norwood put Town ahead from the penalty spot a minute before half-time and added a second just before the hour.
Veteran forward Brett Pitman scored against his old club with 19 minutes left to reduce the deficit. Norwood missed the chance of a hat-trick when he hit a penalty wide in the 74th minute.
Ryan Broom came off the bench to score a last-minute equaliser for Burton against Gillingham, who had taken the lead just before half-time through Jordan Graham.
Crewe won 1-0 at Bristol Rovers, with a goal from Callum Ainley in the 19th minute.
Read More: Sports News