Birmingham remain in relegation trouble in the Championship after Millwall claimed a third consecutive win with a 2-0 victory at the Den.
An early Jed Wallace goal put the hosts in the ascendancy and Ben Thompson's tap-in after 75 minutes made sure of the three points as Millwall continued to climb the table.
The hosts could not believe their luck, when after just over two minutes, a Birmingham mix-up allowed Wallace to beat Neil Etheridge off his goal line and poke the ball into an empty net.
It would have been easy for Blues, who came into the game above only Wycombe in the table, to lose faith after that but Aitor Karanka's side steadied the ship and shared possession with the Lions for the opening exchanges.
Skipper Harlee Dean had a chance to level things up after 12 minutes when a corner dropped to him but he lashed it wide via a deflection.
Millwall boss Gary Rowett will have been disappointed to see Jake Cooper leave the field with a shoulder injury after just 22 minutes as he was replaced by Alex Pearce.
Moments later Matt Smith got on the end of a Mahlon Romeo cross but could not direct his powerful header on target.
Blues' best chance to level things up before the break fell to Dean after Bartosz Bialkowski completely miscued his punch but once again his effort sailed high and wide.
The Lions should have doubled their lead in the 56th minute when Smith broke the line and squared for Mason Bennett, but Scott Malone got their first and forced the save from Etheridge and when Smith looked certain to tap in the follow-up, Dean was there to make a vital block.
Birmingham eventually forced their first shot on target when Lukas Jutkiewicz stung the palm of Bialkowski before a handball by the striker brought the attack to a premature end.
But Rowett's side killed the game dead after 75 minutes when centre-back Shaun Hutchinson broke free down the right flank and sent a perfect cross into the path of Thompson to finish from point-blank range.
Jonathan Leko did eventually get the ball over the line for Blues in added time but he was ruled offside as Karanka's men remain in 23rd, one point from safety, after a third consecutive loss.