A late goal from substitute Jeremie Bela sent Birmingham City through to round four of the Emirates FA Cup and dumped Rovers out of the competition.
Bela somehow skewed an attempt under Jayson Leutwiler to win the game for the hosts, who were forced to play the final 30 minutes of the second half with 10 men.
Ivan Sunjic was the man who saw red just two minutes after coming on after dragging down Sam Gallagher in the box.
Adam Armstrong smashed home the spot kick to level things up after Dan Crowley's early opener put Blues ahead after only four minutes.
An alteration in goal saw Leutwiler start for the third time this season; the Canada international in to replace Christian Walton, who missed out on the squad, whilst Bradley Johnson and Gallagher also came in to start.
An encouraging beginning to the game saw Armstrong test Lee Camp in the opening three minutes, but the experienced goalkeeper managed to keep hold of the effort that bounced just before the stopper gathered.
But a minute later the hosts took an early advantage. Crowley picked up the ball and drove towards goal unchallenged before sending a bouncing shot past Leutwiler and into the bottom right-hand corner.
Rovers were having the majority of possession, but it was the home side who worked the next opportunity when Gary Gardner dragged witde after a neat one-two with Crowley, before Alvaro Gimenez headed straight at Leutwiler a moment later.
A guilt-edged opportunity came and went with under 10 minutes of the half remaining, with Gallagher, Ben Brereton and Armstrong all getting in a muddle in attempting to prod the ball home after Amari'i Bell's dangerous ball in caused havoc.
An early substitution saw the injured Elliott Bennett replaced by Derrick Williams, which resulted in Tosin Adarabioyo shifting across to right back.
Crowley's strike ensured Pep Clotet's side went into the interval with a slender advantage, despite Rovers having the better of the play in the sunshine.
The break allowed Rovers to get messages on board from the coaching staff and the visitors raced out of the traps to create two great opportunities early into the half.
Armstrong raced onto a Johnson pass but fired over before Gallagher had two opportunities to level but volleyed wide before dinking past Camp and his left-hand post in the space of a couple of minutes.
A turning point came on the hour mark when substitute Sunjic was sent off after dragging down Gallagher in the box.
The Croatian midfielder had only been on for a couple of minutes, but was given his marching orders and allowed Armstrong to have the opportunity to score from the spot against the Blues for the second time in nine days.
Up against Camp, the frontman smashed straight down the middle to equalise with a seventh goal of the season.
Birmingham reminded Rovers that they were still in the game when Kristian Pedersen forced Leutwiler into a smart save down low to his right before the Canadian flicked an effort from substitute Bela just past the post.
Rovers were pushing for a late winner, with Joe Rothwell keeping Camp busy with a strike from range with just over 10 minutes of the encounter remaining.
A Williams potshot squirmed under Camp three minutes later but the veteran 'keeper recovered quickly enough to just about stop the ball from trickling over the goal-line as a winning goal continued to evade Rovers.
Armstrong was next to try his luck, but saw Camp in his way after he jinked past the challenged of Pedersen and then Jacques Maghoma.
Somehow Birmingham created a late opportunity themselves, and after Bela picked up the ball and ran into the area, he simply slid the ball under Leutwiler and send the home side through to round four.
Birmingham City: Camp, Maghoma, Pedersen, Gardner (Sunjic, 58), Davis, Clarke-Salter (Harding, 69), Dean (c), Colin, Crowley, Gimenez, Montero (Bela, 46).
Substitutes: Trueman, McEachran, Bailey, Medina.
Goals: Crowley, 4, Bela, 90.
Booked: Gimenez, 56.
Rovers: Leutwiler, Bennett (c) (Williams, 38), Adarabioyo, Lenihan, Bell, Johnson, Downing (Buckley, 78), Rothwell, Armstrong, Brereton (Chapman, 57), Gallagher.
Substitutes: Fisher, Samuel, Davenport, Travis.
Goal: Armstrong pen, 61
Referee: Oliver Langford.