Cardiff City have been promoted to the Premier League.
They finished 0-0 against Reading, but went up after Fulham lost 3-1 to Birmingham.
It means manager Neil Warnock has earned record eighth career promotion.
Derby County secured the final place in the play-offs, after a 4-1 win over Barnsley, who have been relegated.
Meanwhile, two late goals means Bolton stay in the division for another season, following a 3-2 win over Nottingham Forest.
Burton Albion have also been relegated, after a 2-1 loss to ten-man Preston.
Elsewhere, Middlesbrough will face Aston Villa in the Championship play-offs after substitute Patrick Bamford's header in the sixth minute of injury time gave the Teessiders a 2-2 draw at Ipswich.
Sunderland's miserable season in the Sky Bet Championship ended on a rare bright note as they thrashed title winners Wolves 3-0 before heading to League One.
Sunderland were the better side throughout, with Ovie Ejaria and Ashley Fletcher scoring before the interval and Paddy McNair (below) claiming his fourth goal in the last six games midway through the second half.
Millwall secured their highest league finish since 2002 after Shaun Williams' penalty earned them a 1-0 victory over Championship play-off contenders Aston Villa.
Williams sent goalkeeper Mark Bunn the wrong way from 12 yards on the half-hour mark to secure a seventh-place finish for Neil Harris' side on the final day.
Sheffield Wednesday thumped Norwich 5-1 thanks to an Atdhe Nuihu hat-trick whiled Sheffield United survived a late comeback to see off Bristol City 3-2.
Here's how the dramatic day unfolded
All 12 games kicked off under blazing sunshine around the country, with six of the fixtures involving teams who still had something to play for. In one of the other matches, relegated Sunderland gave champions Wolves a guard of honour at the Stadium of Light.
Fulham missed a glorious chance to go 1-0 up as Aleksandar Mitrovic blazed over at the back post from Matt Targett's cross. At Pride Park, Barnsley goalkeeper Jack Walton made a fine stop from Marcus Olsson's long-range effort as Derby pushed for an opener.
Cameron Jerome scored the opening goal for Derby, who moved closer to a play-off spot. Barnsley dropped below Burton and into the relegation zone.
A big goal at both ends of the table was celebrated in Birmingham and Cardiff. Lukas Jutkiewicz turned in Wes Harding's cross to give Birmingham a 1-0 lead against Fulham, leaving Blues heading for safety and the visitors with it all to do to secure automatic promotion.
Burton dropped back into the relegation zone as Callum Robinson headed in an opener for play-off chasing Preston. The Lilywhites still needed Barnsley to do them a favour at Derby, though.
Shaun Williams' penalty gave Millwall a 1-0 lead against Aston Villa - but they needed Preston to fail to win and Derby to lose, as well as making up a nine-goal deficit on the Rams, to make the top six.
Preston's Billy Bodin put the ball into the back of the net, but the goal was disallowed for handball and he was given a yellow card.
Cardiff were on the brink of the Premier League after Birmingham scored a second against Fulham. Diogo Jota did brilliantly down the left and crossed to a completely unmarked Harlee Dean, who headed in his first goal for the club.
As all the games reached half-time, Cardiff were on course for the Premier League, with Fulham heading for the play-offs, where they would meet Derby. At the bottom, Bolton and Burton were going down, though a goal for either side would have moved them out of the bottom three.
Burton received a lifeline as Bodin was sent off for Preston. After being booked for a handball, he earned a second for diving in the penalty area.
Derby all-but wrapped up a play-off place as they scored a second, Jerome crossing from the right for Matej Vydra to finish. The Rams moved up to fifth ahead of Middlesbrough. Barnsley remained fourth from bottom but their safety now depended on Bolton and Burton's results.
Burton moved above Barnsley and out of the bottom three as Hope Akpan's brilliant strike made it 1-1 against 10-man Preston.
Burton dropped right back in the relegation zone as Bolton finally took the lead against Nottingham Forest through Adam le Fondre. Burton, who needed to score again to climb back out of the bottom three, were denied a second as Marvin Sordell's header was well saved by Declan Rudd. Barnsley slipped 3-0 behind to Derby, who dropped back down to sixth as Middlesbrough equalised at Ipswich.
Another twist as Forest levelled at Bolton through Ben Osborn, moving Burton back out of the drop zone. Derby added a fourth against Barnsley.
More good news for Burton as Jack Colback put Forest 2-1 up at Bolton. Bolton needed two goals in the last 10 minutes to stay up, providing Burton did not score. Barnsley pulled one back at Derby, who moved back up to fifth as Ipswich retook the lead against Boro.
Fulham pulled a goal back at Birmingham through Tom Cairney, but needed two more to secure a top-two finish, as Cardiff and Reading remained 0-0.
Bolton gave themselves some hope as David Wheater equalised against Forest.
Aaron Wilbraham headed Bolton into the lead and moved them out of the relegation zone. Meanwhile, Che Adams made it 3-1 to Birmingham, leaving Cardiff minutes away from the Premier League.
Preston went 2-1 up against Burton in stoppage time. Bolton had five minutes of added time to see out, but a Forest equaliser would have seen Barnsley stay up.
The full-time whistle went at Pride Park, with Barnsley heading for relegation and Derby finishing fifth.
Burton were relegated as their game with Preston ended in a 2-1 defeat. At Bolton, Forest's Apostolos Vellios fired just over the crossbar with an acrobatic effort. Patrick Bamford scored for Middlesbrough to secure fifth and a play-off with Aston Villa, leaving Derby to play Fulham.
Bolton celebrated safety as the final whistle went after a dramatic 3-2 win against Forest.
Cardiff were promoted to the Premier League as they drew 0-0 with Reading as Birmingham beat Fulham 3-1.
“We are going up…”
— Sky Bet Championship (@SkyBetChamp) May 6, 2018
The @CardiffCityFC promotion party is under way! pic.twitter.com/khJ61q6Uft
Wolves, meanwhile, crashed to a 3-0 defeat at Sunderland, leaving the relegated Black Cats as the only side the champions did not beat in the league this season.