Millwall will have to go through the play-offs after a 3-2 home victory over Swindon was not enough to overhaul Leeds at the top of League One on Saturday. Swindon took a third-minute lead through Daniel Ward, but a Steve Morison penalty and Gordon Greer's own goal put Millwall in control.
Morison scored Millwall's third before Billy Paynter's strike five minutes from time set up a tense finale.
Swindon will meet Charlton in the play-offs after goals from Nicky Bailey and Miguel Angel Llera secured a 2-0 win at Oldham.
Huddersfield Town will play Millwall after defeating Exeter 2-1. Gary Roberts gave Town a second-minute lead but Matthew Taylor pulled one back for Exeter before Ryan Harley's winner eight minutes from time.
Tranmere, who were in the drop zone at the start of the day, stayed up through a 3-0 win at Stockport, with goals from Ian Goodison, Ian Thomas-Moore and Joss Labadie.
Hartlepool, who earlier this week were docked three points for fielding an ineligible player, survived after earning a point in the goalless draw at Brentford. Defeat would have sent Hartlepool down, but they clung on and Gillingham, who lost 3-0 at relegated Wycombe, were relegated on goal difference.
Champions Norwich lost 2-0 at home to Carlisle, Brighton beat Yeovil 1-0 and Colchester defeated Leyton Orient through Kevin Lisbie's stoppage-time penalty. Southampton defeated Southend 3-1 with two late goals and Walsall beat MK Dons 2-1.
Grimsby tumbled out of the Football League on Saturday after a 3-0 loss at Burton condemned them to relegation from League Two.
Notts County, Rochdale and Bournemouth had already secured automatic promotion, while Rotherham and Aldershot's places in the play-offs were assured. They both lost as Morecambe won 1-0 to finish fourth.
Morecambe will play seventh-placed Dagenham, who claimed a 2-0 win at Darlington, in the play-offs, while Rotherham meet Aldershot.