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'
|Former Liverpool defender Byrne dies, aged 77|
|Uruguay and Argentina should host World Cup 2030 - AUF chief|
|Tuchel expects Aubameyang and Reus to be fit for Stuttgart clash|
|Wenger defends 14-minute flight to Norwich|
|Carragher hints Liverpool could move on from Sturridge|
|Lavezzi: PSG are too good for Ligue 1|
|Juve season is back on track, claims Allegri|
|Guardiola exit would be a shame for Bayern - Beckenbauer|
|A-League Review: Victory punish Roar draw to move top|
|Mascherano back in Barcelona squad|
|Costa ruled out of Hertha clash|
|´He´s a nice guy´ - Klopp reveals Rodgers meeting|
|Mexes frustrated by Milan´s slump|
|Villa not relegation certainties, says Garde|
|Ryan and Valencia desperate to end dismal Sevilla record|
|Pochettino talks up positive Mourinho relationship|
|Seedorf: Premier League job would be an honour|
|Carragher: Grealish running out of chances|
|Mourinho: Book sales the reason behind Drogba criticism|
|Allardyce: Sunderland looking to emulate Juventus|
|Barkley eyeing Everton silverware|
|Ramsey to continue in unfavoured wide role|
|Stoke boss Hughes wants Arnautovic stay|
|Tottenham no longer fear Chelsea, says Dier|
|Rooney deserves his starting place - Van Gaal|
|Klopp: Lewandowski, Aubameyang show Benteke can flourish with patience|
|Costa must read the game better - Mourinho|
|Ibrahimovic could return to Milan - Raiola|
|Pellegrini unconcerned by Guardiola rumours|
|Hull City 0 Derby County 2: Clement´s side move to Championship summit|
|St Johnstone 1 Dundee 1: Wotherspoon leveller ensures spoils are shared|
|Darmstadt 0 Cologne 0: Schuster held by old club|
|Levante 0 Real Betis 1: Castro sends Mel´s side into top half|
|Lyon 2 Montpellier 4: Courbis´ side expose dire defending|
|In-form Barkley ´good enough for Chelsea or Manchester United´|
|Koke: Difficult for Atletico to catch Barcelona|
|Lucas: PSG sent security guards to players´ homes|
|Palermo v Juventus: Lichtsteiner ready for crucial period|
|Pastore ruled out of Troyes clash|
|Bayern announce record financial results|
|Liverpool v Swansea City: Klopp stays grounded despite strong form|
|CAS reduces RFEF fine but supports FIFA findings|
|Tottenham v Chelsea: Mourinho has faith in porous defence|
|Borussia Dortmund v Stuttgart: Kramny tenure begins at Signal Iduna Park|
|Former FIFA president Joao Havelange hospitalised|
|Teixeira reveals offers from Chelsea, Juventus and PSG|
|Klopp warns Liverpool about Swansea´s attack|
|Eibar v Real Madrid: Casemiro eager to put Clasico in the past|
|Luis Fabiano announces Sao Paulo exit|
|Monk: I have the full support of Swansea chairman Jenkins|
|Newcastle hit by Haidara injury blow|
|Afraid of Higuain? I beat Messi! - Felipe Melo|
|West Ham v West Brom: Song urges Hammers to hit the right notes|
|Coloccini to keep Newcastle captaincy after ´feisty´ week|
|FFF files civil action over Valbuena, Benzema sex tape|
|Sakho expects Liverpool return in six weeks|
|AC Milan are not in crisis, but we need to beat them - Montella|
|Blanc defends Cavani but still wants more goals|
|Bayern in great shape ahead of Hertha test, says Boateng|
|Madrid confirm Varane thigh injury|
|Luis Enrique warns Barceona rivals: Messi only just getting started|
|Mourinho unconvinced by Spurs ´fatigue´|
|Sturridge setback ´not that serious´ - Klopp|
|City boss Pellegrini cool on Guardiola, Messi rumours|
|Mihajlovic sets Milan two-points-per-game target|
|Atletico want to be annoying - Simeone|
|Luis Enrique wants new Barcelona signings in January|
|Barcelona great hails Messi, Suarez, Neymar|
|Mourinho plays down Vardy, Kane rumours|
|Hart ruled out for 10 days with hamstring injury|
|Valbuena ´more than disappointed´ with Benzema in sex-tape case|
|Norwich City v Arsenal: Wenger demands response after West Brom setback|
|Bilic urges reaction from ´angry´ West Ham|
|Sergi Roberto set to miss Barcelona´s Sociedad clash|
|Mason urges Kane to stay at Tottenham|
|Van Gaal: Nasty Vardy reminds me of Bergkamp|
|Hughes warns in-form Stoke are yet to click|
|Van Gaal ´not worried´ by Manchester United form|
|Jovetic credits hunger for Inter´s surprise Serie A lead|
|Bravo won´t leave Barcelona - Braida|
|Costa can match Messi and Ronaldo says ex-Gremio president|
|Caballero eyes redemption as City wait on Hart|
|Ryan: Valencia can challenge for trophies this season|
|Ranieri backs Martial to find form|
|Mane not leaving Southampton - Koeman|
|Valencia goalkeeper Ryan thankful to former coach Arnold|
|Wenger lauds remarkable ´lion´ Sanchez|
|Top spot not crucial for Klopp|
|Hamsik surprised by Napoli´s season|
|Allardyce open to Defoe sale|
|Breitenreiter pleased with Schalke character|
|Griffiths: Blame me for Celtic´s Europa League exit|
|Pochettino happy with Chelsea links to Kane|
|Europa League Review: Liverpool advance, Celtic crash out|
|We´re too easy to play against, laments Villa captain Richards|
|AC Milan v Sampdoria: Mihajlovic the focus ahead of San Siro clash|
|Ferdinand: Ferguson only wanted players with animal instinct at United|
|Klopp frustrated by Mignolet decision|
|Pochettino hails ´mature´ Spurs display|
|Celtic 1 Ajax 2: Late winner keeps De Boer´s men alive|
|Pioli eyes improvement after Lazio qualify for last 32|
|Liverpool 2 Bordeaux 1: Milner and Benteke ensure Europa League progression|
|Dortmund dominant in Krasnodar defeat, claims Tuchel|
|Atletico Madrid v Espanyol: Lopez looking for perfection on the road|
|CBF chief Marco Polo del Nero steps down from FIFA role|
|Qarabag 0 Tottenham 1: Kane header seals Europa League progression|
|Sturridge set for scan on foot injury|
|Barcelona v Real Sociedad: Rakitic puts winning run down to team spirit|
|Paris Saint-Germain v Troyes: Top against bottom in Ligue 1|
|United striker Wilson joins Brighton on loan|
|Mihajlovic abandoned me but Montella is the best, says Ferrero|
|Bayern Munich v Hertha Berlin: Dardai out to stop Guardiola´s juggernaut|
|FC Krasnodar 1 Borussia Dortmund 0: Russians progress thanks to early penalty|
|Rode not planning Bayern exit|
|Koeman hopes ´dangerous´ Long can fill Pelle void|
|Aston Villa v Watford: Garde calls for support to end barren run|
|Crystal Palace v Newcastle United: Pardew dreaming of European football|
|Manchester City v Southampton: Koeman feels Pellegrini´s men can cope with criticism|
|La Liga president Tebas: Clasico was hard to watch|
|Sunderland v Stoke City: Allardyce calls for ´fight and grit´ after Palace success|
|Figures reveal further drop in football banning orders|
|AFC Bournemouth v Everton: Martinez cautions against complacency|
|Hughes urges Shawcross to forget England hopes|
|Leicester City v Manchester United: Top-of-the-table clash intrigues Ranieri|
|Rodriguez out for up to eight weeks|
|Ranieri: It will be hard to break down United´s defence|
|Allardyce hopeful on Defoe fitness|
|Ribery eyes Bayern return|
|Hamann tips Firmino to become a Liverpool star|
|Baines closing in on comeback - Martinez|
|Away fans in France banned from matches until mid-December|
|Azpilicueta: Chelsea on right track again|
|Rummenigge confident Bayern will not lose any key players|
|Deulofeu showing world-class talent, says Martinez|
|Sydney FC 0 Wellington Phoenix 0: Bore draw as hosts miss chance to go top|
|´Not of the professional standard´ - Garde drops Grealish|
|Real Madrid lead the way in World XI nominees|
|Ozil was a bargain at £40m - Wenger|
|FIFA donates returned CBF watches to charity|
|Sanchez could play against Norwich despite hamstring problem|
|Mourinho hopes to see Arsenal suffer Champions League elimination|
|Isco urges Madrid to learn from mistakes|
|Drogba claims Chelsea are lacking leaders|
|Juventus can hold their own against anyone - Buffon|
|Alleged match-fixer released from Singaporean jail|
|Le Tissier backs Ronaldo to play on like Giggs|
|Keane: Rooney looks awful and must do more|
|Rummenigge: Bayern relaxed over Guardiola future|
|Premier League Truce Tournament cancelled over Belgium safety concerns|
|Blanc: Ibrahimovic´s Malmo return was a distraction|
|Astana coach Stoilov delighted with Benfica draw|
|Shakhtar have ´mentality problems´ - bemoans coach Lucescu|
|Lovren vows to become Liverpool leader|
|Mason wants to cement England spot|
|Van Nistelrooy misses rivalry with ´obsessed´ Arsenal|
|Emery disappointed by Champions League campaign|
|Schubert eyeing Europa League spot|
|Cocu revels in PSV´s position after Old Trafford draw|
|Pellegrini questions Mandzukic winner|
|I lived a dream – Ibrahimovic|
|Allegri delighted after Juve seal progression|