Doncaster Rovers lost their unbeaten home record as former loan striker Federico Macheda came back to haunt Paul Dickov.
The Manchester United striker was on loan at the Keepmoat Stadium earlier this season, but he wore the Birmingham colours on Saturday as City battled back from Paul Quinn’s opener.
Birmingham were lacklustre in the first half in which Doncaster took the lead when defender Quinn fired home at the second attempt following a free-kick from David Cotterill in the 36th minute.
But there was a massive turnaround in the second half after a bad mistake by young left-back James Husband led to an equaliser as Rovers crashed to their first home Sky Bet Championship defeat in nine games.
Husband dwelt on the ball and was robbed of possession by on-loan Macheda, who lashed home the equaliser from a tricky angle in the 57th minute.
Lee Novak broke away to put City in front after 71 minutes and Macheda sealed the comeback with a fine header five minutes later.
Rovers boss Dickov acknowledged his side only had themselves to blame.
“It was definitely a self-inflicted defeat,” he said.
“Federico Macheda is lethal in the penalty area and you just can’t allow him chances like that .
“We should know because we had him on loan ourselves earlier in the season.”