Rovers banished the Baggies to earn a welcome three points with a 3-1 win.
Niko Kalinic got Steve Kean's side off to the perfect start when he fired Rovers in front after just three minutes.
And although Jerome Thomas levelled after fifteen minutes, Rovers grew stronger as the game went on to be full value for their win.
Kalinic headed Rovers back in front after the restart before Mame Biram Diouf reacted quickest in the area to stoop to double Rovers lead.
Both sides ended the game with ten men, Rovers seeing Kalinic red carded for a challenge on Scharner, Tamas the home side's culprit on Mame Diouf.
The win sees Rovers back in the top half of the table as the climb up to 9th.
Rovers made just the one change from the side that tasted defeat against Stoke City on Boxing Day.
That change, for once a tactical one, saw El-Hadji Diouf return to the starting line-up with Gael Givet dropping to the bench. Christopher Samba having failed a midday fitness test on the ankle injury.
That saw Rovers line-up in a 4-5-1 formation, with both Diouf's, El-Hadji and Mame Biram, operating wide to support Niko Kalinic up front.
Rovers were quick out of the blocks going close after just two minutes when from a Morten Gamst Pedersen free-kick Ryan Nelsen glanced a header across goal.
Sixty seconds later and the West Brom net was bulging after a goal of high quality from Rovers. There seemed little on for the visitors as they held possession in the centre of midfield, but Pedersen sent a delightful ball down the inside left channel and Kalinic outpaced Paul Scharner to beat Carson with a low shot into the far corner of the game. The perfect start.
The home side looked to hit back immediately, Paul Robinson diving well to deny Graham Dorrans after a 1-2 with Peter Odemwingie.
Robinson, who had been a concern after limping out of the warm-up, seemed to be uncomfortable, Mark Bunn warmed up continuously, whilst goalkeeping coach Bobby Mimms was out to check on the Rovers number one.
Meanwhile at the other end, Rovers very nearly made it two and it could have been two for Kalinic, but the Croatian's curling shot was inches over the bar.
James Morrison's long range strike was just as close, his effort flashing just past Paul Robinson's right post.
Morrison wasn't checked in that run, and it was from his drive through the centre of midfield that the home side levelled on 17 minutes. Morrison's run saw him find Somen Tchoyi on the right, and he sent over one of those nightmare balls for defenders but not for attackers as Jerome Thomas slid in at the back post to equalise.
It was an entertaining half, both sides getting the ball down and zipping it around with pace, both sides creating chances also.
After a 1-2 with Morrison, Thomas went close to getting his second, but his clipped effort was wide at the far post, whilst Martin Olsson's cross was met by the head of Mame Biram Diouf, but he couldn't direct the ball on target.
A booking to Michel Salgado two minutes before the end of the first half meant a fifth of the season for the former Spanish international, he'll now miss the New Years Day clash at Sunderland.
In added time a Martin Olsson cross from the left was missed by two West Brom players, Kalinic fed Dunn, but he stumbled and was unable to get his shot away.
The resumption of play saw a change for Rovers, and it was the one most expected. Paul Robinson, unable to continue, replaced by Mark Bunn in goal.
The substitute goalkeeper immediately into the thick of the action, saving at his near post to thwart Odemwingie after the home side broke after Pedersen's carelessness in possession.
A second Rovers change was soon made, Michel Salgado, who always ran the risk of picking up a second booking, being replaced by Junior Hoilett.
Rovers upped the pressure with a series of corner kicks, the third of which would see Steve Kean's side regain the lead.
Morten Gamst Pedersen sent the ball over from the right, Ryan Nelsen rose high at the back post to head across goal and Niko Kalinic was there to head into the back of the net for his second of the game.
The Croatian then had the chance to get his third, chasing a back pass, West Brom goalkeeper Scott Carson mis-controlled, the ball going straight to Kalinic, but his control took it straight back into the arms of the embarrassed 'keeper.
Just past the hour mark Rovers were able to celebrate a third goal. Again it came from a corner kick as their short routine caught the home side napping, El-Hadji Diouf delivering, Mame Biram Diouf stooping to head home in a crowded area.
Any hopes of a hat-trick for Niko Kalinic came to an unceremonious end on 64 minutes, the Rovers striker had had a near perfect day but blotted his copy book with a late, high challenge on Paul Scharner on half way. It really didn't need to be made, a red card the result from referee Phil Dowd.
Rovers would have to play half an hour a man light.
Aside from his early second half save, Mark Bunn had often been a spectator but with fifteen minutes remaining he made a superb save when he showed great reactions to deny Albion sub' Simon Cox from just six yard out. Cox should have done better with the rebound but headed down and over the bar.
Then from a Dorrans free-kick Paul Scharner looped a header against the bar, Grant Hanley, quietly effective throughout, alert to clear off the line.
With Roberto Di Matteo's side pushing for a way back into the game they were susceptible on the break. Mame Biram DIouf bursting through but his shot was saved well by Carson.
With three minutes of the ninety remaining the player count was evened up, the lively Mame Diouf turning Gabriel Tamas and as he attempted to charge away towards goal he was hacked from behind. Phil Dowd had no hesitation in giving the defender his marching orders.
Albion threw everything at Rovers in the final exchanges, but Rovers held strong to claim the win.
The victory is Rovers' third on their travels this season, and following the away wins against Blackpool and Newcastle United, the win at the Harthorns made it a treble against last season's promoted sides.
WEST BROM: Carson (c), Jara (sub Barnes 74 mins), Scharner, Tamas, Shorey, Mulumbu, Dorrans, Tchoyi, Morrison (sub Cox 66 mins), Thomas, Odemwingie.
Subs not used: Myhill (GK), Miller, Barnes, S Reid, Ibanez, Cech.
ROVERS: Robinson (sub Bunn 46 mins), Salgado (sub Hoilett 52 mins), Hanley, Nelsen (c), Olsson, EH Diouf (sub Benjani 82 mins), Emerton, Dunn, Pedersen, Kalinic, MB Diouf.
Subs not used: Givet, Linganzi, Doran, Morris.
Booked: Jara (West Brom), Salgado, EH Diouf, Bunn (Rovers).
Off: Tamas (West Brom), Kalinic (Rovers).