Brunt scored his 13th goal of the season for West Brom
West Bromwich Albion edged out Doncaster to clinch a return to the Premier League at the first attempt.
The Baggies went ahead against the run of play when Graham Dorrans smashed his free-kick into the left corner.
Chris Brunt doubled the lead rolling into an empty net but Jay Emmanuel-Thomas struck back for Rovers.
Roman Bednar's powerful header reinstated West Brom's two-goal cushion before James Hayter's header made for a nerve-wracking finale.
What a difference a year has made for the Baggies who were relegated to the Championship after finishing bottom of the Premier League with 32 points only 11 months ago.
Under new manager Roberto Di Matteo, who came in following Tony Mowbray's departure to Celtic in the summer, West Brom have amassed 86 points with three games remaining and still have a chance of overtaking Newcastle to win the Football League title.
However, after only six minutes a jinking run from Hayter threatened to spoil the Baggies' party but his powerful drive from the edge of the area was palmed over the bar by goalkeeper Scott Carson.
A run of only one win from five games has seen Doncaster fall away in the race for a play-off place.
But the home side dominated possession putting together spells of neat and patient build-up play which just lacked an incisive final ball - perhaps an indication why Rovers season will finish in mid-table obscurity rather than the play-offs places.
It took West Brom half an hour to threaten and when they did their first effort on target brought the opening goal.
An innocuous free kick was conceded on the edge of the box and Dorrans rifled an unstoppable drive beyond Neil Sullivan.
Doncaster were not to be disheartened and clever interplay between Hayter and Paul Heffernan in the West Brom box handed Hayter a sight of goal but the forward blazed over.
The men from The Hawthorns have outscored every other team in the Championship this season and once again their attacking prowess brought its rewards.
Brunt latched on to a misplaced back-pass by James Chambers to beat goalkeeper Sullivan to the ball and the Northern Irishman was able to simply roll the ball into the empty net for his 13th goal of the season and the Baggies 100th goal in all competitions this campaign.
The result was in no way guaranteed when Emmanuel-Thomas received the ball on the right side of the box and the on-loan Arsenal midfielder drove into the area before wrong-footing an unsighted Carson with his left-footed shot.
But Bednar charged into the box to hammer home a powerful header from Brunt's cross and almost wrap up the win, and promotion at the first time of asking for West Brom.
Although Hayter stole a yard in the box to head the home side back into the game and set up a tense last five minutes, the Baggies held on to secure their place in the top flight.
Doncaster manager Sean O'Driscoll:
"They and Newcastle have been the outstanding teams in the division.
"They are Premier League clubs and everyone has wanted to beat them.
"Over the course of the season they have been more consistent than anyone else and you have to give them a lot of credit.
"They have quality where it matters and there is not much you can do about that."
West Brom manager Roberto di Matteo: "It's a credit to the players who have worked very hard. Their attitude, effort has been the key to this season and we have been promoted with three games left, it's an amazing achievement.
"It has been great to work with these players this year and I have enjoyed it very much. As a manager you need good players, players who are willing to put in the effort through the season.
"It's different to what I achieved when I was a player, but as a manager promotion is a good thing to have on your track record."
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.