Luton and Sheffield United clinched the final two places in the Championship playoffs on the last day of the regular season.
Needing a draw to ensure their place in the top six, Luton beat Reading 1-0 at Kenilworth Road, while United powered to a 4-0 home win against promoted champions Fulham on Saturday.
Those results ended Middlesbrough and Millwall’s hopes of gate-crashing the playoffs, although both teams were beaten in their final matches anyway.
Harry Cornick’s quick thinking on the stroke of half time earned Luton their priceless victory.
Cornick’s 13th goal of the season came when Reading keeper Orjan Nyland put the ball down in his own penalty area without realising the Luton forward was behind him.
Nipping in to steal possession, Cornick tapped the ball into the empty net to spark huge celebrations.
In the playoffs, sixth-placed Luton will play third-placed Huddersfield, who rounded off their campaign with a 2-0 victory over Bristol City.
At Bramall Lane, fifth-placed United were 3-0 up after 25 minutes thanks to goals from Morgan Gibbs-White, Iliman Ndiaye and Sander Berge.
Fulham had nothing to play for and Enda Stevens capped United’s rout with the fourth goal early in the second half.
United’s playoff opponents are Nottingham Forest, who finished fourth after a 1-1 draw at Hull.
Millwall suffered final-day disappointment as Kieffer Moore’s late goal sent them to a 1-0 defeat at Bournemouth.
Gary Rowett’s side needed a win and other results to go their way to snatch a top six finish.
But despite a spirited effort, they came up just short against a Cherries side in relaxed mood after securing promotion to the Premier League in midweek.
Middlesbrough crumbled in their final game, losing 4-1 at Preston to finish in seventh place.