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'
|International break unwelcome for Mourinho|
|Muto a ´perfect fit´ for Mainz|
|Lampard pledges NYC commitment|
|Van Gaal: I listen to Rooney|
|MLS Review: Whitecaps falter, Eastern Conference heats up|
|´I think a yellow would have been harsh´ - Noble baffled by his red card|
|Rodriguez´s quality ´unquestionable´ - Benitez|
|Abdennour chooses Valencia|
|Giovinco to fly to Italy despite injury|
|La Liga Review: Real Madrid, Celta notch big wins|
|Mihajlovic: I feel like I lost|
|Real Madrid 5 Real Betis 0: Rodriguez scores twice in Benitez´s first Bernabeu win|
|Balotelli has a lot of work to do, declares Bacca|
|Luis Enrique delighted with Vermaelen´s form|
|Bundesliga Review: Leverkusen no match for Muller-inspired Bayern, Frankfurt thump Stuttgart|
|Milan 2 Empoli 1: Adriano header seals first league win for Mihajlovic|
|Ligue 1 Review: Fekir hat-trick inspires Lyon, Reims take Lorient apart|
|Barcelona 1 Malaga 0: Vermaelen rewards patient champions|
|Muller denies Van Gaal contact|
|Pochettino not concerned about goalless Kane|
|Martinez hails ´immense´ Stones|
|Flores not concerned by lack of Watford goals|
|Evans completes West Brom switch|
|Howe remains upbeat despite concerning injuries|
|Rash Cattermole frustrating Advocaat|
|Bayern Munich 3 Bayer Leverkusen 0: Muller marks 200th appearance in style|
|Tottenham 0 Everton 0: Howard keeps hosts at bay|
|Sako gives Palace new dimension - Pardew|
|Rodgers rues self-inflicted Liverpool defeat|
|Villa were robbed during Sunderland draw, blasts Sherwood|
|Football League Review: Brighton move top, Orient maintain winning start|
|I wish I had a fourth substitute, says Chelsea boss Mourinho|
|Pulis hails West Brom match-winner Rondon|
|´Gladiator´ spirit is more important than anything - Ranieri|
|Bilic defends ´park the bus´ tactics after Anfield win|
|Pellegrini quiet on De Bruyne after record-breaking win|
|Hughes fumes at Stoke dismissals after West Brom loss|
|Mourinho: Chelsea did not deserve Palace defeat|
|Scottish Premiership Review: Celtic return to the summit as Hearts suffer surprise defeat|
|Liverpool 0 West Ham 3: Defensive woes return for Rodgers´ men|
|Manchester City 2 Watford 0: Sterling opens account as City become record breakers|
|Bournemouth 1 Leicester City 1: Vardy rescues a point|
|Chelsea 1 Crystal Palace 2: Late Ward winner seals dramatic victory|
|Stoke City 0 West Brom 1: Rondon gives Pulis win over nine-man hosts|
|Aston Villa 2 Sunderland 2: M´Vila and Lens secure hard-fought point|
|Blackett moves to Celtic on loan|
|McClaren laments ´harsh´ Mitrovic red|
|Wenger: Arsenal ´cautious´ in Newcastle win|
|Sevilla can mirror Atletico strengths - Simeone|
|Ibrahimovic and Di Maria in PSG squad for Monaco clash|
|Newcastle United 0 Arsenal 1: Mitrovic off as Coloccini own goal settles it|
|Barca´s Suarez ends Sevilla loan to make Villarreal switch|
|Allegri confirms imminent Coman departure|
|Garcia demands more ahead of Juve clash|
|Knee injury sidelines Ozil|
|Dortmund boost defence with Mainz´s Park|
|Ruddy hoping to impress Hodgson|
|Wolfsburg proved there is life after De Bruyne - Hecking|
|Van Gaal unsure if Romero will replace De Gea long-term|
|Dzeko wants Totti partnership at Roma|
|No excuses for City - Pellegrini|
|San Jose Earthquakes 1 LA Galaxy 0: Salinas´ header levels Cali Clasico tally|
|Koeman plays down expectations|
|Stuttgart´s Langerak suffers surgery setback|
|Rodgers hails Milner´s leadership, mentality|
|Conte hints at Giovinco recall, doesn´t rule out Balotelli|
|Martinez slams Chelsea over Stones pursuit|
|Leverkusen are title contenders - Guardiola|
|Babel in sexism controversy|
|Pellegrini prepared to wait for Otamendi|
|Sevilla v Atletico Madrid: Llorente hoping to repay faith|
|Veloso back for Portugal|
|Kranevitter joins Atletico on five-year deal|
|Maiga leaves West Ham for Al Nassr|
|Blackburn Rovers 0 Bolton Wanderers 0: Lancashire derby ends in stalemate|
|Coutinho, Rafinha called into Brazil squad|
|Guingamp 2 Marseille 0: Privat and Benezet inflict more misery on visitors|
|Wolfsburg 3 Schalke 0: Hosts canter to victory without De Bruyne|
|Villarreal 3 Espanyol 1: Soldado inspires turnaround|
|Carpi v Inter: Mancini demands full focus|
|De Bruyne set to complete City move, reveals Allofs|
|Roma v Juventus: Champions seek to bounce back|
|Motta pens new PSG deal|
|Settled Bale in the hunt for more titles at Real|
|Blind hands Robben Netherlands armband|
|Rodriguez joins Everton from River Plate Montevideo|
|Bolivia appoint Baldivieso|
|Southampton v Norwich City: Neil holds south-coast club up as inspiration|
|Monaco v Paris Saint-Germain: Rabiot wants champions to send a message|
|Barca face tough group - Luis Enrique|
|Swansea City v Manchester United: Van Gaal celebrates 50th game in charge|
|Herrera pushing for United start, says Van Gaal|
|Borussia Dortmund v Hertha Berlin: Tuchel puts perfect record on the line|
|Michu still not part of my plans if he stays – Monk|
|Hughes not expecting late transfer deals at Stoke|
|FIFA or bust in Platini´s presidency bid|
|Cuadrado struggles to explain Chelsea snub|
|Atletico seal Borre deal|
|Schalke loan Hojbjerg from Bayern|
|Sissoko in contention to face Arsenal|
|Advocaat confident of more signings, but De Guzman not among them|
|Berahino ´not just a lump of meat´ - Pulis|
|Ajax set to face Champions League quality - Van der Sar|
|Pellegrini quiet on intense De Bruyne speculation|
|Van Persie and Nani offer cause for Celtic excitement - Hawthorn|
|Lopes seals Monaco switch|
|Mourinho silent on Stones saga|
|Milan snap up Kucka|
|Can earns first Germany call-up|
|Dortmund get kind draw, Sousa takes Fiorentina back to Basel|
|Costa and Mata return for Spain qualifiers, De Gea gets the nod|
|Rodriguez omission not personal - Benitez|
|Allofs frustrated by Premier League´s financial muscle|
|Sherwood hopeful over Traore fitness|
|Leverkusen sign Kampl from Dortmund|
|Toivonen joins Sunderland on loan from Rennes|
|Markovic has Liverpool future, says Rodgers|
|Martinez insists Stones in perfect environment at Everton|
|Tottenham wrap up Son deal|
|Schmeichel wants Real target De Gea to re-sign with United|
|Cech is one of the best - Cudicini|
|Rodwell hoping for more goals|
|Thauvin needs time to settle at Newcastle – Haidara|
|Kennedy takes blame for Celtic´s loss, stands by zonal marking|
|CONCACAF Champions League Review: Comunicaciones, Motagua off the mark|
|Rooney´s contribution undervalued - Schmeichel|
|Jedinak ruled out as Socceroos make changes|
|Sampdoria not a ´discount store´ - president Ferrero|
|Montolivo: No issue with Mihajlovic|
|Gilardino signs for Palermo|
|Chelsea target ´China´s Sergio Ramos´|
|Striker search like looking for love - Pochettino|
|Hecking ´sick´ of De Bruyne talk|
|Deschamps calls up Martial, leaves out Sakho|
|´The only thing they can is long balls´ - Midtjylland´s skipper slams Southampton|
|UEFA Europa League Review: Reus leads Dortmund rout, AZ complete late comeback|
|Messi should win Ballon d´Or - Bartomeu|
|Koeman rues refereeing decisions after Europa League defeat|