There was late drama at both ends of the Championship table as Birmingham City sent Doncaster Rovers straight back down to League One, while Brighton & Hove Albion snatched the final playoff place from Reading.
Jose Ulloa's 92nd-minute strike earned Brighton a 2-1 win at Nottingham Forest. The Argentinian striker netted with a neat header to seal a victory and lift the Seagulls above Reading and into sixth place.
It was the second season running that another side had sneaked into the top six on the final day at the City Ground, with Leicester having done the same last year. However, a Forest side that was hampered by having as many 16 players injured, suspended, ill or unavailable was unable to hold out against Oscar Garcia's team.
Forest had taken the lead in the 22nd minute through Matt Derbyshire, but saw Stephen Ward fire the visitors level, before Ulloa delighted the 2,000 travelling fans with his late, late strike.
Brighton will face Derby for a place in the playoff final. Steve McClaren's side, who were already guaranteed third place, ended the regular season with a 1-1 draw at Leeds United.
Reading surrendered the final playoff place in dramatic fashion after the Royals could only draw 2-2 at home with Burnley .
Although they battled back from a half-time deficit to get a point against already-promoted Burnley, Brighton's last-gasp win saw them miss out.
Nigel Adkin' men went ahead early on when Kieran Trippier diverted a Jobi McAnuff cross into his own net but Burnley struck twice in eight minutes through Scott Arfield and Danny Ings to lead 2-1 at half time. Garath McCleary fired in a superb equaliser in the second half to draw Reading level, but in the end that proved not to be enough.
Wigan Athletic, already assured a playoff place, lost 4-3 at Blackburn Rovers and will face Queens Park Rangers, who edged Barnsley 3-2.
At the other end of the table, Doncaster never really looked like scoring at champions Leicester City, who won the game thanks to David Nugent's penalty midway through the second half.
Birmingham, who needed to better Rovers' result to survive, looked dead and buried at Bolton until Paul Caddis swooped to head home in injury time to make it 2-2 and ensure they stay up on goal difference.
Millwall, who were also in danger of going down, beat Bournemouth 1-0 at the New Den, while fellow relegation rivals Blackpool survived despite going down 3-0 at home to Charlton Athletic.
Ipswich finished ninth with a 2-1 over Sheffield Wednesday at Portman Road, while Middlesbrough claimed a top-half finish by thrashing relegated Yeovil Town 4-1 at Huish Park.
Watford ended a disappointing season by going down to the same score at home to Huddersfield Town.