An entertaining encounter saw Rovers play out a barnstorming battle against Birmingham
Che Adams bagged a brace for the Brummies in the Midlands, with his first coming early in the first half.
But Rovers battled back, and goals from Charlie Mulgrew and Danny Graham looked to have earned the visitors the points, only for Adams' late equaliser to break hearts.
There was still time for a late chance, but Bradley Dack couldn't find the net in injury time and the points were ultimately shared.
Tony Mowbray made four changes to his starting XI for the clash, with two of those alterations coming in the back four, with Ryan Nyambe and Amari'i Bell both starting in the full back areas.
Bell, up against his old club, came in for the suspended Derrick Williams, whilst there were also starts for Richie Smallwood and Lewis Travis in midfield.
Birmingham began the game the brighter, with a whipped Jota free kick being flicked on by Harlee Dean, but David Raya, on his 100th senior appearance, was on hand to flick the header behind just eight minutes in.
A few minutes later and a Maxime Colin strike had to be shoveled away by Raya before Adams' strike was deflected behind a moment later.
Rovers' goal was living a charmed life, and with the next chance the hosts grabbed the opener through Adams' 20th goal of the season.
Bell was robbed by the frontman, who drove at the Rovers backline before rifling into Raya's bottom right-hand corner to give the Blues the lead.
Rovers were growing into the game and two dangerous deliveries caused problems from Mulgrew, before Lee Camp produced a fine stop to deny Graham midway through the half.
The visitors ended the half stronger and a Jack Rodwell header drifted over the upright in the final opportunity of a lively 45 minutes at St Andrew's.
Rovers kept the momentum going early into the second and got reward for their improvement through the skipper.
For the third time this season, a whipped Mulgrew corner caught everyone out and evaded all before finding a way into the back of Camp's net for his ninth goal of the season on his 100th start for the club.
The hosts finally did fashion a chance just after the hour when substitute Kerim Mrabti stung the feet of Raya, who got a block in on the Swede's powerful drive.
Adam Armstroing was introduced in place of Harrison Reed soon after as the boss looked to exploit the forward's pace against the high back line that the hosts were playing with.
It was a game that neither side could really afford to lose, but it looked like Rovers had grabbed a late winner when a deflected volley from Graham took a deflection and decieved Camp before trickling into the net with seven minutes to go.
However, there was more drama, and two minutes later Adams had his brace as he prodded past Raya and in via a post from an acute angle to level things up and ensure a grandstand finish in the Midlands.
City tails were up, and an adventurous free kick from Gary Gardner had to be tipped over by Raya a moment later as Garry Monk's side looked to turn the score around.
There was still time for one last chance, and superb play from Armstrong saw the 21-year-old race past a couple of players before his low cross found Dack, who couldn't quite wrap his foot around the ball and sent it just inches past Camp's post in the final opportunity of a pulsating game.
Birmingham City: Camp, Morrison (c), Colin, Maghoma (Mrabti, 57), Adams, G. Gardner, Dean, Jota (Mahoney, 70), Jutkiewicz (Vassell, 77), Pedersen, Kieftenbeld.
Unused substitutes: Trueman, Davis, C. Gardner, Harding.
Goals: Adams, 17, 85.
Rovers: Raya, Nyambe, Rodwell, Mulgrew (c), Bell, Smallwood, Travis, Bennett, Dack, Reed (Armstrong, 67), Graham.
Unused substitutes: Leutwiler, Rothwell, Brereton, Nuttall, Evans, Conway.
Goals: Mulgrew, 52, Graham, 83.
Bookings: Mulgrew, 47, Smallwood, 86.
Referee: Peter Bankes.