Goals from David Bentley and Benni McCarthy sent Rovers into a two-goal lead, before Cameron Jerome reduced the arrears for Birmingham City.
But Rovers held out for their second home win over the Blues in the space of 11 days.
Mark Hughes made two changes following his side's exit from the UEFA Cup on Thursday night.
Former Birmingham midfielder Robbie Savage returned to the starting 11 in place of Aaron Mokoena, while Morten Gamst Pedersen was preferred to Matt Derbyshire further up field.
With captain Damien Johnson and striker Mikael Forssell both injured, Steve Bruce stuck with the same line-up that suffered a narrow 1-0 defeat at home to Manchester United last weekend.
Eager to bounce back from their European disappointment, Rovers started the game with real purpose about their play.
Bentley, who was named in Steve McClaren's England squad just 48 hours earlier, fired two crisp strikes just inches past Maik Taylor's post inside the opening 10 minutes, before opening the scoring on the quarter-hour mark.
Brett Emerton fed David Dunn down the right, the former Birmingham favourite drilled a low cross into the feet of Bentley inside the box and the ex-Arsenal ace turned on a sixpence before slotting a left-foot strike inside Taylor's near post.
Rovers almost extended their lead just three minutes later. A lightning quick break saw Emerton play a neat one-two with Bentley, before feeding Pedersen on the left, who blazed wide of the mark.
Birmingham's best chance of the half arrived on 29 minutes when Mehdi Nafti played in Jerome, but the former Cardiff forward somehow failed to hit the target.
At the other end, Roque Santa Cruz blasted over the bar, before crossing for Stephen Warnock whose diving header just eluded Emerton at the far post.
The magic moment of the half arrived on 42 minutes when Chris Samba's skilful 70-yard solo run ended with Dunn back-healing the ball into his path, but the giant Congo defender's left-foot curler was comfortable for Taylor.
McCarthy came on for Dunn at the break and almost made an immediate impact.
Just 15 seconds into the second half, the South African collected Pedersen's cross on his chest, before squaring for Bentley, whose goal-bound shot from just three yards out was cleared off the line by Franck Queudrue.
The game then turned on two key decisions in the 54th minute. Gary McSheffrey's effort at the far post was ruled out for offside, before Santa Cruz's skill in the opposite box was too clever for Johan Djourou and a penalty was awarded. McCarthy stepped up and coolly side-footed home.
The former FC Porto forward almost added a third just six minutes later, but his header from Bentley's out-swinging corner was hacked clear off the line.
But the visitors made a game of it when they pulled a goal back on 68 minutes.
Substitute Wilson Palacios lofted the ball into the box, Rovers failed to clear their lines and Jerome smashed his shot into the top corner of the net.
Rovers ought to have restored their two-goal advantage following some McCarthy magic on 70 minutes, but his centre for Santa Cruz was comfortably saved.
As the clock ticked towards 90 minutes, Bentley fired into the side-netting and Olivier Kapo's last-minute header forced Brad Friedel into a fantastic reaction save as Rovers held on for the points.