Rovers' woes on the road returned as they were defeated 2-1 at St. Andrew's on Tuesday evening.
Against the form side of the division it looked ominous for Rovers when Cameron Jerome fired the home side in front after just 12 minutes, and when the Birmingham striker added a second just after the restart, it gave Rovers a mountain to climb.
Ryan Nelsen's second goal of the season gave Sam Allardyce's side faint hope, and in a nervy ending Nikola Kalinic saw a header cleared off the line by Sebastian Larsson.
Though Birmingham should have added more goals to their tally in a storming end to the game when Christian Benitez struck the crossbar with an empty net to aim for, whilst Paul Robinson denied Larsson at the death.
Ahead of the game Sam Allardyce made four changes from the side that started in the goalless draw against Hull City on Saturday.
With Rovers failing to find the back of the net in their last four league outings, it was the offensive places that were shaken up. Nikola Kalinić coming in for his first Barclays Premier League start, along side Jason Roberts who also returned as Franco Di Santo and Benni McCarthy dropped to the bench.
The Rovers boss also changed two midfield players for the St. Andrew's clash. Morten Gamst Pedersen and El-Hadji Diouf coming in as Junior Hoilett joined the subs and Vince Grella who missed out through illness. Brett Emerton moving inside along Steven Nzonzi.
With four consecutive league victories, it came as no surprise that Alex McLeish named an unchanged side once again.
Croatian Kalinic looked lively in the early exchanges, a strong forward run had Birmingham on their heels after two minutes, whilst a superbly executed volley from Nzonzi's header fizzed a couple of yards over the bar.
But it was at the back that Rovers looked edgy. Ryan Nelsen had to head behind a ball forward from Carr and from the resulting corner their marking deserted them as Birmingham had two bites of the cherry before Cameron Jerome flicked the ball past Paul Robinson from close-range.
The home side had one three out of their last four games 1-0, the omens didn't look good for Rovers.
But they had a chance to level almost immediately. A ball in from the left by Brett Emerton was aimed for Kalinic, but as he slipped it opened up the opportunity for Jason Roberts, but he snatched at the ball and sent it well wide.
The home fans thought Chucho had added a second at the midway point of the half, but he was a yard offside as he converted Sebastian Larsson's centre.
Moments later Rovers were dealt a blow as Brett Emerton could no longer continue, Keith Andrews coming on to replace to Australian.
Birmingham continued to threaten the Rovers back line with McFadden, Benitez and Jerome's lively play causing them problems, but important tackles from Givet and Chimbonda prevented further goals.
The other end saw Rovers have a half-chance at the end of the first period when a ball to the back post found Kalinic, but he was just clipped as he looked to pull the trigger, forcing him to miss the ball completely. The Croatian had been one of the bright performers in an otherwise disappointing first half display.
Sam Allardyce's team talk went right out of the window just two and a half minutes after the restart when Birmingham doubled their lead.
Stephen Carr played a one-two with Sebastien Larsson to race round the back of the Rovers defence, the former Spurs man picked out Cameron Jerome with the perfect pass and he swept the ball home from the edge of the area for his second of the game and his 50th career goal.
But after twenty minutes of the second half where Rovers offered little as an attacking force, they suddenly found a way back into the game.
It came from a free-kick on the right, which Morten Gamst Pedersen swept to the back post. Pascal Chimbonda arrived unmarked at the back post to shoot, but whilst Joe Hart kept out the Frenchman's effort, he had now answer to Ryan Nelsen who swept the ball home from five yards out.
That goal saw the nerves start to creep into the Birmingham defence, Roger Johnson has to hack clear at the back, whilst there was confusion as both he and Hart went for the same ball as Rovers looked for a leveller.
However it was the home side who should have added a third with just two minutes remaining. With Rovers upfield for a corner, Birmingham broke through Benitez, he squared the ball to Jerome who saw his shot parried, Jerome squared it for his strike partner, but Benitez somehow hit the crossbar with the goal at his mercy.
The drama didn't end there in the four additional minutes. Nikola Kalinic saw a header cleared off the line by Larsson from a Pedersen corner kick in which Paul Robinson had come up for.
A second corner kick saw Robinson race back to make a stupendous save to stop Larsson adding a third.
It lead to an exciting end to the game, but a game that Rovers ultimately ended pointless.
BIRMINGHAM: Hart, Ridgewell, R. Johnson, Dann, Carr (c), Larsson, Bowyer, Ferguson, McFadden (sub Fahey 83 mins), Jerome, Benitez.
Subs not used: Taylor (GK), Phillips, McSheffrey, O'Shea, Carsley, Vignal.
ROVERS: Robinson, Chimbonda, Samba, Nelsen (c), Givet, Diouf (sub Hoilett 53 mins), Emerton (sub Andrews 23 mins), Nzonzi, Pedersen, Roberts (sub McCarthy 70 mins), Kalinić.
Subs not used: Brown (GK), Jacobsen, Di Santo, Salgado.
Booked: Jerome (Birmingham), Nzonzi, Nelsen (Rovers).