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'
|Dortmund put 17 past Olympians, Bremen hand out thrashing|
|Dinamo Zagreb confirm arrests of coach and club president|
|I didn´t know who Wimbledon guest Klopp was - Brown|
|LeBron James backs Liverpool captain Henderson for FIFA 16 cover.|
|Ramos: I am not negotiating with anyone|
|Valencia complete Mina swoop|
|United States v Japan: US seek final redemption|
|Hanousek consigns Celtic to defeat|
|Roma confirm Dzeko interest|
|Arsenal forward Podolski completes Galatasaray switch|
|Warm Dortmund welcome delights Tuchel|
|Silva vows to fight for Madrid place|
|Mancini hints at Shaqiri and Santon departures|
|Bojan raring to go after return from injury|
|Babel backs Firmino to shine at Liverpool|
|Falcao must wait to impress, warns Chelsea favourite|
|Bartomeu: Deal in place for Turan|
|Parejo re-signs with Valencia|
|MLS Review: Sounders return to winning ways|
|Klinsmann unhappy with USA performance|
|High hopes for Paraguay - Diaz|
|Gareca: More to come from Peru|
|Gerrard had European offers|
|Argentina out to spoil Chile´s party - Martino|
|Sampaoli: Chile won´t change style|
|Di Maria will come good at United - Rojo|
|Peru 2 Paraguay 0: Gareca´s men finish third at Copa|
|United States 4 Guatemala 0: Klinsmann´s men win comfortably|
|´I’d prefer no-one to know my name´ - Bassett|
|Matthews completes Sunderland move|
|Podolski set for Galatasaray medical|
|Gundogan inspires Dortmund victory|
|Inter confirm Montoya capture|
|Murillo joins Inter, as Kuzmanovic and Obi depart|
|Falcao signing not a risk, says former Chelsea star|
|Deeney agrees new Watford deal|
|Confidence and service the key to Falcao success at Chelsea|
|No bids for ´Chelsea target´ Baba, claim Augsburg|
|Derby swoop for Ince|
|Fiorentina consider legal action over Salah ´no-show´|
|Chelsea the team to beat in the Premier League, says Neville|
|Storari exits Juve for Cagliari|
|UEFA removes FFP restrictions on Man City and PSG|
|West Brom hope for new owners within the month|
|Chelsea agree loan deal for Falcao|
|Kuyt eyes trophies on Feyenoord return|
|Chile v Argentina: History beckons ahead of Copa America final|
|Wallace extends Monaco loan|
|Mihajlovic wants to instill fear factor at Milan|
|Mignolet improving at Liverpool - Grobbelaar|
|Mumbai City name Anelka player-manager|
|Olivia the parrot predicts Japan to win Women´s World Cup|
|Lusitans coach blasts Bilic´s ´lack of respect´|
|Sakho eyes more Europa League wins|
|Gareca wants Peru to keep building|
|Chile ´no chance´ if Argentina produce their best - Diaz|
|Ocampos joins Marseille permanently|
|Europa League Review: Cloud-nine Brondby ignite opening round|
|West Ham 3 Lusitans 0: Sakho nets twice at start of Europa League journey|
|Holebas makes Watford move|
|Milan secure Adriano signing|
|Peru v Paraguay: Diaz counts cost of semi-final loss|
|Bastia hit out at reports of extra debt|
|Hernandez has successful surgery|
|Odemwingie signs one-year Stoke extension|
|Uth signs for Hoffenheim|
|Henen seals Everton return|
|Cattermole pens long-term Sunderland deal|
|United States v Guatemala: Klinsmann backs Dempsey ahead of Gold Cup warm-up|
|West Ham working on Jenkinson return - Gold|
|Milan agree deal for Bacca|
|Real buy back Vazquez from Espanyol|
|Richards leaves Swansea for Fulham|
|McShane signs for Reading|
|Giggs tells youngsters to seize US chance|
|Hammond pens Leicester extension|
|Only Schweinsteiger can decide Bayern future - Guardiola|
|Cech plans to play until he´s 40|
|Montoya arrives in Milan ahead of Inter move|
|Hernandez out of Gold Cup|
|US asks Switzerland to extradite seven FIFA officials|
|MLS Preview: Sounders seek momentum switch|
|Mexico 0 Honduras 0: Hernandez injury sours friendly|
|Hernandez taken to hospital|
|Garay in doubt for Copa America final|
|Wambach: USA peaking for World Cup final|
|Bassett ´an absolute hero´ despite own goal - Sampson|
|Japan 2 England 1: Late own goal breaks English hearts|
|Salvo quits as Valencia president|
|Costa not Ribery cover - Bayern director Sammer|