Tranmere and Carlisle drop
Tranmere and Carlisle were both relegated from League One as a dramatic final 15 minutes saw Notts County escape the drop.
Tranmere were set for survival as they led Bradford 1-0 while Notts County trailed Oldham with quarter of an hour to play.
Alan Sheehan's equaliser from the penalty spot lifted County out of the bottom three on goal difference before Tranmere had their fate sealed when Bradford came back to snatch a late 2-1 victory.
Matthew Pennington had given Tranmere hope when he scored after just seven minutes but the task became harder for the hosts when Junior Brown was sent off after half an hour.
The mood turned sour as news of County's equaliser filtered through in the second half before Jon Stead and Aaron McLean rubbed salt into the wounds with two goals in the last 10 minutes.
County fell behind midway through the second period when Adam Lockwood headed Oldham in front.
The lead lasted just seven minutes however as Sheehan held his nerve from the spot before Oldham were reduced to 10 men late on when Lockwood was shown a second yellow card.
County's win sent Carlisle down too as they were beaten 3-0 at champions Wolves.
Wolves' victory means they finish with 103 points and break the record for the highest points tally in the third tier.
Sam Ricketts and Michael Jacobs gave the hosts a 2-0 lead at half-time before Nouha Dicko wrapped up the win.
Also going up automatically are Brentford who ended their impressive season with a 2-0 win at home to bottom club Stevenage.
Both goals came in the final 13 minutes of the match as Marcello Trotta and Alan Judge made sure Borough finished at the foot of the table.
Leyton Orient will be hoping to join Wolves and Brentford in the Championship next season after the O's snatched the top play-off spot with a 3-1 win at MK Dons.
Russell Slade's men took a three-goal lead thanks to two goals from Kevin Lisbie and one from David Mooney before Ryan Hall scored a late consolation for MK.
Orient will now face a semi-final against sixth-placed Peterborough who were held to 0-0 draw at home to Port Vale.
Rotherham also booked their play-off spot after beating Swindon 2-1 to finish fourth.
Wes Thomas scored twice in the first half and while Swindon's Michael Smith pulled one back from the penalty spot on the hour it proved no more than a consolation for the Wiltshire side.
Rotherham now meet Preston, who lost 2-1 at relegation battlers Crewe.
Crewe knew a win would guarantee their survival and Adam Dugdale settled the home side's nerves with a 10th-minute opener.
Mathias Pogba then doubled the lead before Preston's John Welsh reduced the deficit late on.
Shrewsbury grabbed an equaliser four minutes from time to draw 1-1 at Gillingham but it was scant consolation for the Shrews, who were already down.
Adam Barrett put Gillingham ahead in the 72nd minute but Shaun Miller rescued a point for the visitors.
There was also a 1-1 draw between Crawley and Bristol City.
Jamie Proctor put Crawley in front just before the half-hour mark but City's Simon Gillett equalised with a long-range strike.
Craig Eastmond's fortuitous winner gave Colchester a 1-0 victory at Walsall, who finish the season without a victory in six matches.
Sheffield United came from behind to beat Coventry 2-1 as Ryan Flynn and Ben Davies' overturned Nathan Delfouneso's first-half strike.