Match ends, Doncaster Rovers 0, Burton Albion 0.
Burton Albion secured promotion to the Championship for the first time with a nervy draw at Doncaster that confirmed Rovers' relegation to League Two.
With third-placed Walsall thumping Port Vale, Burton needed a draw to guarantee their second consecutive promotion.
The Brewers' best chance fell to Calum Butcher, who was denied when one-on-one, but they held on to remain second.
Doncaster had needed a win, plus defeat for Fleetwood and an improbable 13-goal swing, to avoid relegation.
Burton among the big boys
Burton, who won promotion to England's third tier for the first time last season as League Two champions under Jimmy Floyd Hasselbaink, reappointed Nigel Clough for a second spell in charge after Hasselbaink's switch to Queens Park Rangers in December.
Since Clough's return, when Burton were top of League One, they have won 12, drawn eight and lost six of their 26 matches, failing to win in six games between 26 March and 19 April to set up a nervous finale to the season.
With Walsall winning 5-0 at Vale Park, Burton knew that a Doncaster winner would have denied them promotion, but Jon McLaughlin's goal was rarely threatened.
Their clean sheet ensured the club that was playing non-league football for its entire history until 2009 will face two former European Cup winners - Aston Villa and Nottingham Forest - in the Championship next season.
Doncaster, who spent five seasons in the Championship between 2008 and 2014, will return to the fourth tier for the first time since 2004.
Relegated from the second tier on the final day of the season by a last-gasp Birmingham goal two years ago, Rovers' drop to League Two was made more likely by a dismal 17-match winless run between 9 January and 9 April.
Burton manager Nigel Clough told BBC Radio Derby: "I think it's an emotional time for everybody. It is truly, truly remarkable.
"We don't spend money we haven't got, there's no big investors, nobody puts any money in. You just run it sensibly, make good decisions, try to get good characters in the club and on the pitch and you've got a chance.
"I think it's fitting we get promoted with a clean sheet. It was a good solid performance."
- 29MiddletonSubstituted forCalderat 54'minutes
- 8ChaplowSubstituted forLongbottomat 62'minutes
- 21MandevilleSubstituted forTysonat 53'minutes
- 34ChoudhuryBooked at 76mins
- 15NaylorSubstituted forWeirat 79'minutes
- 9BeavonSubstituted forButcherat 45'minutes
- Andy Woolmer
- Shots on Target
Second Half ends, Doncaster Rovers 0, Burton Albion 0.
Attempt blocked. Lucas Akins (Burton Albion) right footed shot from outside the box is blocked.
Andy Butler (Doncaster Rovers) wins a free kick in the attacking half.
Foul by Lucas Akins (Burton Albion).
Foul by Andy Butler (Doncaster Rovers).
Lucas Akins (Burton Albion) wins a free kick in the attacking half.
Attempt blocked. Robbie Weir (Burton Albion) right footed shot from the centre of the box is blocked.
Riccardo Calder went off injured after Doncaster Rovers had used all subs.
Foul by Nathan Tyson (Doncaster Rovers).
Philip Edwards (Burton Albion) wins a free kick in the defensive half.
Substitution, Burton Albion. Robbie Weir replaces Tom Naylor.
Attempt missed. Andy Butler (Doncaster Rovers) header from the centre of the box is high and wide to the right following a set piece situation.
Hamza Choudhury (Burton Albion) is shown the yellow card for a bad foul.
Tommy Rowe (Doncaster Rovers) wins a free kick in the attacking half.
Foul by Hamza Choudhury (Burton Albion).
Attempt saved. Mark Duffy (Burton Albion) right footed shot from outside the box is saved in the centre of the goal.
Attempt saved. Callum Butcher (Burton Albion) right footed shot from the centre of the box is saved in the bottom left corner.
Aaron Taylor-Sinclair went off injured after Doncaster Rovers had used all subs.
Foul by Riccardo Calder (Doncaster Rovers).