A rare strike from Maxime Colin was enough to give Birmingham their fourth Sky Bet Championship win at St Andrew's this season and leave beleaguered Blackburn without a victory in their past five matches.
The Frenchman ended a 19-month goal drought with a poacher's header just after the half-hour mark to move City to within three points of the play-off places and drop Rovers into the bottom half of the table.
The visitors paid the price for a poor first half, and although they responded after the interval, they were unable to find a breakthrough at what is a bogey ground as they have now won just once in 12 league visits.
The first chance of the game that fell Blackburn's way inside two minutes also proved to be their best of the opening half as the Blues controlled proceedings after Sam Gallagher had rifled a 20-yard right-foot drive just past Lee Camp's right-hand post.
City had to wait until the quarter-hour mark for their first clear opening, with Kerim Mrabti playing an incisive through ball into Fran Vilalba, whose angled shot from 12 yards was superbly blocked by Christian Walton.
From the resultant corner, which Rovers only half-cleared, Dan Crowley just cleared the crossbar with a thunderous 25-yard effort.
Crowley then turned supplier for the home side's next chance in the 26th minute, teeing up Jude Bellingham on the edge of the area for a shot on the turn from 20 yards that Walton again had to beat away.
Five minutes later, City deservedly opened the scoring, with Crowley the provider with a delightfully floated cross to the far post where an unmarked Colin was able to powerfully head past Walton from close range.
Rovers at least started the second half on the front foot as a 20-yard shot from Lewis Travis after 75 seconds was deflected just wide for the first of two successive corners, from the second of which Tosin Adarabioyo headed over.
The visitors continued to press for an equaliser, putting the home defence under pressure, with their next chance arriving in the 64th minute from Stewart Downing, whose left-footed drive from the edge of the area was inches wide.
City, though, should have made it 2-0 in the 68th minute as a sweeping move sparked again by Crowley resulted in a low right-wing cross from Lukas Jutkiewicz being sidefooted goalwards by Vilalba, only for Walton to save with his feet.
Two minutes later Rovers breathed again as Jutkiewicz let fly with a piledriving left-foot shot from 25 yards that crashed off the crossbar and a foot in front of Walton's goal-line.
Rovers almost grabbed a point late on, only for 62nd-minute substitute Danny Graham to drag a shot wide when well placed, while Camp was forced to palm from under his bar a long-range effort from skipper Elliott Bennett that had taken a looping deflection.