Paul Caddis' 93rd-minute equaliser saved Birmingham City from relegation and sent Doncaster Rovers into League One on Saturday.
On a dramatic final day that also saw Brighton and Hove Albion claim the final play-off spot, stunning late drama at the Reebok Stadium kept Birmingham safe on goal difference as they claimed an unlikely 2-2 draw.
Lee Clark's side seemed destined to drop into the third tier of English football for the first time since 1994-95 when they trailed Bolton Wanderers 2-0 with 14 minutes left.
But Nikola Zigic's header rallied Birmingham before their late pressure ended with Caddis nodding in from close range to delight the club's travelling supporters.
Birmingham were excellent in the first half and had 11 shots on goal to the three of their opponents, but they could not find the all-important breakthrough.
City – who started the day in 22nd, one point adrift of safety - saw Lee Novak go close twice around the half-hour mark before the same player steered in from close range after a free-kick, only for the effort to be ruled out for a foul in the build-up.
Lee Chung-Yong's arrowed finish from eight yards in the 57th minute gave Bolton the lead and Lukas Jutkiewicz was quick to double their advantage.
Zigic gave Birmingham a lifeline in the 78th minute, though, when he nodded Mitchell Hancox's excellent cross in before sustained pressure eventually led to a dramatic leveller.
Caddis was to provide it, following in after Zigic's header was cleared off the line by Tim Ream to secure his side's survival in the most dramatic way.
Birmingham's draw meant Doncaster were relegated by virtue of an inferior goal difference after a 1-0 defeat at champions Leicester City.
David Nugent scored the game's only goal from the penalty spot with 15 minutes to play as Doncaster – promoted in equally dramatic scenes on the final day of League One last term – were sent down.
At the other end of the table, Leonardo Ulloa's 92nd-minute header gave Brighton a 2-1 win at Nottingham Forest, a result that saw them finish a point ahead of Reading.
Matt Derbyshire headed Forest in front in the 22nd minute, but Stephen Ward levelled proceedings eight minutes after the break.
And Ulloa was on hand to head in Craig Mackail-Smith's cross in stoppage time to extend his side's season.
Brighton lost to eventual play-off winners Crystal Palace in last year's semi-finals.
Reading finished seventh after a 2-2 home draw against already promoted Burnley.
Kieran Trippier's own goal was cancelled out by Scott Arfield and then Danny Ings as Sean Dyche's side took the lead.
A stunning Garath McCleary volley drew Reading level with 32 minutes to play but they were unable to find a late winner.
Derby County finished third and will meet Brighton in the play-offs, but saw their 10-match winning streak against Leeds United come to an end as Matt Smith cancelled out Simon Dawkins' early goal in a 1-1 draw at Elland Road.
QPR warmed up for the play-offs with a 3-2 win at already relegated Barnsley, while Wigan Athletic, who will face Harry Redknapp's side over two legs, lost 4-3 at eighth-placed Blackburn Rovers.
Yeovil Town's first season in the second tier of English football saw them finish bottom as they lost 4-1 to Middlesbrough at home, while Blackpool – who ended just two points above the relegation zone – slumped to a 3-0 defeat against Charlton Athletic.
Other results on Saturday saw Huddersfield Town win 4-1 at Watford, while Ipswich Town beat Sheffield Wednesday 2-1 and Millwall edged Bournemouth 1-0.
|Coach: D. Freedman|
for R. Hall 61'
for Chung-Yong Lee 81'
for J. Beckford 86'
|UEFA Europa League Review: Lovren misses crucial spot kick as Liverpool crash out|
|Rodgers rues lack of Liverpool guile|
|Pochettino laments ´key´ Soldado miss|
|Everton 3 Young Boys 1 (7-2 agg): Tormentor-in-chief Lukaku on song again|
|Serie A games to start late in show of support for Parma|
|Mancini irked by mistakes despite win|
|Besiktas 1 Liverpool 0 (aet, 1-1 agg, 5-4 pens): Lovren misses decisive spot-kick|
|Chelsea agree record sponsorship deal|
|Fiorentina 2 Tottenham 0 (3-1 agg): Gomez and Salah eliminate Spurs|
|Inter 1 Celtic 0 (4-3 agg): Guarin stunner sees Mancini´s men through|
|Manchester United v Sunderland: Poyet eyeing another Old Trafford upset|
|Monk has no problem with Van Gaal|
|Borussia Dortmund v Schalke: Di Matteo buzzing ahead of derby debut|
|Poyet not prepared to risk returning duo against United|
|Sherwood seeks six wins for survival|
|Championship Preview: Neil relishing East Anglian derby|
|Newcastle United v Aston Villa: Carver praises rejuvenated visitors|
|Granada v Barcelona: Catalan giants aiming to put pressure back on Real|
|Burnley v Swansea City: Monk targets 40 points in record time|
|Stoke City v Hull City: Meyler focused on maintaining resurgence|
|West Brom v Southampton: Pulis warns of continued dogfight|
|Police identify Chelsea fans over racist chanting|
|Guardiola warns against complacency|
|West Ham v Crystal Palace: Allardyce wary of being caught on counter|
|Parma GM compares club to the Titanic|
|Alderweireld close to Southampton return|
|Dyche keen to move on from Barnes furore|
|Gutierrez in Newcastle squad for Villa clash|
|Union chief urges action over Serbia gun threat|
|Berahino doubtful for Southampton clash|
|German citizenship? Why not? - Ribery|
|League Two Preview: Bury hope winning environment rubs off, Burton host Newport|
|Klopp hoping to avoid any nasty surprises after bomb discovery|
|Blackett pens new United deal|
|Sakho to return to training|
|Flores quits Getafe for personal reasons|
|Busquets agrees new Barcelona deal|
|Martino ´could not be happy´ at Barcelona|
|Allardyce striving to develop more Nobles|
|Nani hopeful of United return|
|Unexploded bomb found near Dortmund stadium|
|Lippi leaves Evergrande for personal reasons|
|Chelsea issue cup final warning to fans|
|Ancelotti has no intention to re-sign Morata|
|Dunkin´ Donuts sorry after Liverpool fans slam alternate club crest|
|Noble signs new West Ham contract|
|Sterling hopeful of contract resolution|
|Ali renews UAE contract|
|Deportivo Saprissa 0 America 3: Visitors win with late blitz|
|Copa Libertadores Review: Pato´s streak continues|
|Chievo v Milan: Abbiati wants consistency from Inzaghi´s men|
|Valverde wants momentum ahead of ´crucial´ week|
|Deila challenges Van Dijk, Denayer|
|Serie A Preview: Roma in crucial clash with Juve, resurgent Inter at home|
|Prince Albert: I feel for Wenger|
|Jardim salutes Monaco´s game plan|
|Schmidt dreaming of UEFA Champions League quarter finals|
|Arsenal face ´extremely difficult´ challenge - Wenger|
|Simeone rues missed Atletico opportunities|
|Berbatov questions Arsenal mentality|
|Calhanoglu confident Leverkusen can progress|
|Nottingham Forest 2 Bournemouth 1: Freedman´s dream start continues|
|Gabi upbeat despite Leverkusen defeat|
|Ligue 1 Preview: Monaco host PSG, Lille look to arrest slump|
|Arsenal 1 Monaco 3: All to do for Wenger´s men after limp first-leg display|
|Bayer Leverkusen 1 Atletico Madrid 0: Calhanoglu gives hosts narrow advantage|
|AFC Champions League Review: Western Sydney off to winning start|
|Piszczek blow for Dortmund|
|Bayern Munich v Cologne: Lewandowski wants more of the same from champions|
|Totti: Feyenoord win can be turning point|
|Icardi can be one of world´s best - Mancini|
|Crowe could ride to Leeds´ rescue|
|Martinez to keep faith with Howard|
|O´Brien fined for dissent in UAE victory|
|La Liga Preview: Messi aims to bounce back from penalty miss, leaders Real host Villarreal|
|Eredivisie Preview: Last chance saloon for De Boer´s Ajax|
|Amnesty International: Qatar must improve labour conditions|
|Greek professional football suspended|
|Liverpool trio out of Besiktas clash|
|Bundesliga Preview: Dortmund set for Ruhr derby, Bayern host Cologne|
|Rami to miss Chievo clash|
|Genoa game will go ahead, says Manenti|
|Neymar involved in spat with City fan|
|Steaua receive stadium ban from UEFA|
|Giaccherini out for majority of season|
|Brighton fined £90,000 for breach of agent rules|
|Chelsea try to identify seven over alleged racist chanting|
|No compensation for clubs over 2022 World Cup|
|Suarez: City fans´ boos helped inspire double|
|Not the right time for Gutierrez yet, says Carver|
|Naismith happy to be in the wars|
|CONCACAF Champions League Review: Pachuca reel in Montreal|
|Copa Libertadores Review: Another Bou hat-trick sees Racing win|
|A-League Preview: Sydney wary of Wanderers ahead of derby|
|Qatar 2022 date change strengthens calls for FIFA overhaul|
|Pellegrini: Champions League tie not over|
|Bresciano calls time on Australia career|
|Barcelona defend Messi´s penalty miss|
|Football League Review: Derby stay two points clear, Middlesbrough bounce back|