TON-UP Albion clinched an immediate return to the Barclays Premier League in style with a tenth away win of the season at the Keepmoat Stadium.
Fittingly, it was the club's two top scorers - Graham Dorrans with his 17th goal of the campaign and Chris Brunt with his 13th - that set Albion on their way.
Dorrans opened the scoring on the half-hour mark with a stunning free-kick and, as the man for the big occasion, Brunt brought up the Baggies' century of goals for the season two minutes into first-half stoppage time.
Jay Emmanuel-Thomas' strike a minute-and-a-half after the restart left the visitors sweating.
But Roman Bednar eased their worries with a 74th-minute effort that took his tally for the term into double figures and sparked scenes of jubilation among the sell-out 3,300 travelling Albion fans behind the goal.
James Hayter headed a consolation goal four minutes from the end - but it was job done for Roberto Di Matteo's men.
They have achieved automatic promotion with three games remaining and need only four more points to set a new club record for points earned in a season.
Simon Cox was recalled to the Baggies' starting XI for the first time in nine games and Steven Reid returned from a hamstring injury at right-back.
The men to make way were injured duo James Morrison (hamstring) and Gianni Zuiverloon (thigh).
Sean O'Driscoll, whose side started the game with only six substitutes, made one change, with Jordan Mutch coming in for the absent James Coppinger.
The hosts threatened first in the seventh minute when Hayter weaved between Youssouf Mulumbu and Jonas Olsson before seeing his 18-yard strike tipped over the bar by the in-form Scott Carson.
Former Baggie James Chambers almost put a dent in Albion's promotion plans three minutes later when he exchanged passes with Emmanuel-Thomas down the right before seeing his goalbound volley from inside the box bravely blocked by Gabriel Tamas.
Albion took a while to get going - but almost took a shock lead on 18.
Bednar pipped James O'Connor to Marek Cech's left-wing cross but mishit his first-time effort right in front of goal. The rebound fell to Robert Koren who could not stretch far enough to direct the ball goalwards.
Moments later, Cech again burst clear down the left and cut the ball back for Cox, who missed his volley.
Rovers launched a counter-attack and Mutch looked like opening the scoring as he skipped inside Olsson, but Mulumbu chased back to nick the ball off his midfield counterpart and clear the danger.
Emmanuel-Thomas played a short free-kick to John Oster in the 27th minute before curling a 20-yard shot into the arms of Carson.
Ex-Baggie Shelton Martis piled in on Oster's free-kick two minutes later to glance a header into the six-yard box, where Koren cleared.
Albion were being backed by a constant wall of noise from behind Carson's goal - and they soon had real reason to celebrate.
Dorrans eased the visitors' nerves on the half-hour mark when he curled a delicious 19-yard free-kick inside the far post to open the scoring.
Albion visibly grew in confidence and Koren brought down Dorrans' lofted ball on the right in the 35th minute and drilled it across goal, where Cox stretched to make a connection - but could not direct his effort between the posts.
The busy Cox stole possession just inside the Rovers half in the 39th minute and found Bednar, who drove dangerously towards goal, only to be felled by Martis, who was booked for his troubles. Brunt was just off target from the free-kick.
Four minutes before the break, Gareth Roberts' left-wing cross found Heffernan in the box and he teed up Oster, who volleyed over from 12 yards.
Brunt looked to be clean through from Koren's prodded pass in the 43rd minute - but the assistant referee incorrectly flagged for offside.
Martis then sneaked in unmarked from Emmanuel-Thomas' right-wing free-kick in the 45th minute and would have levelled but for a superb reaction save from Carson.
The game turned strongly in the Baggies' favour two minutes into first-half stoppage time as Brunt pounced on Chambers' weak header back towards his own goal.
The Northern Ireland international saw his first effort blocked by Neil Sullivan but kept his cool to roll home the rebound and double Albion's lead with his 13th of the season.
Emmanuel-Thomas ensured the Baggies would not have it all their own way two minutes into the second half as he latched onto Oster's pass and eased away from Cech before burying a 15-yard finish past the helpless Carson.
Bednar almost restored the visitors' two-goal advantage in the 50th minute when he forced Sullivan into a save at his near post with a 12-yard shot from a tight angle.
Five minutes later, Brunt played Bednar in over the top and he saw his shot deflect off O'Connor and fly wide.
From the resulting Brunt corner, Reid's goalbound header appeared to be cleared by a Doncaster man in front of goal - but referee James Linington pointed for a goal-kick.
Roberts found Heffernan on the edge of the box in the 63rd minute and the Doncaster striker's low shot was easily dealt with by Carson.
A minute later, Cox made way for Giles Barnes as the Baggies looked to finish the job off.
And they were 3-1 up in the 74th minute - to get the promotion party well and truly underway.
Koren pounced on Chambers' mistake and fed Brunt down the left, whose pinpoint back-post cross was clinically converted by Bednar.
Four minutes later, the Czech striker left the pitch to be replaced by Ishmael Miller.
O'Driscoll laid down his cards ten minutes from time by making a triple substitution.
It brought the desired injection of energy for the hosts as sub Dean Shiels twice forced Carson into saves with long-range efforts.
Four minutes from time, James Hayter was left unmarked to head home Emmanuel-Thomas' right-wing free-kick to make it 3-2 and set up a nervy finale.
Doncaster piled on the pressure during the dying stages and Emmanuel-Thomas saw a shot blocked in a crowd of players on the edge of the Albion box.
Koren then broke clear and exchanged passes with Miller, who eventually raced inside before forcing Sullivan into a save to his left with a 20-yard strike.
The Baggies were forced to play out four nervous minutes of stoppage time.
And they survived one final scare, when Brunt cleared off his own goalline from Oster's cross to prevent Hayter equalising - and seal promotion.
DONCASTER (4-4-1-1): Sullivan; Chambers (Lockwood 80), O'Connor, Martis, Roberts; Oster, Mutch (Shiels 80), Wilson, Hayter; Thomas; Heffernan (Fairhurst 80). Subs not used: Smith (gk), McDaid, Hird.
ALBION (4-5-1): Carson; S Reid, Tamas, Olsson, Cech; Koren, Cox (Barnes 64), Mulumbu, Dorrans, Brunt; Bednar (Miller 78). Subs not used: Kiely (gk), Meite, Slory, Wood, Mattock.
GOALS: DONCASTER - Emmanuel-Thomas (47), Hayter (86). ALBION - Dorrans (30), Brunt (45+2), Bednar (74).
BOOKINGS: DONCASTER - Martis (foul 39). ALBION - S Reid (foul 28).
REFEREE: J Linington (Isle of Wight).
ATTENDANCE: 12,708 (away fans 3,318).
ALBION STARMAN: Chris Brunt.