Lukas Jutkiewicz’s first-half strike put a dent in Millwall’s Championship play-off push as Birmingham claimed a 1-0 win at the Den.
The victory has all-but secured the Blues’ safety and ended their three-game winless streak while Millwall’s destiny is now out of their hands.
The Lions remain fifth, two points ahead of West Brom and Blackburn who both have games in hand over the south Londoners.
Gary Rowett’s men have failed to score in five of their last six games and had a number of fine goalscoring opportunities.
Both sides threatened in a high-tempo opening 10 minutes, with Blues winger Tahith Chong strongly appealing for a penalty and George Saville heading narrowly wide at the other end.
Soon after, a stranded John Ruddy provoked a roar from the home fans when he delayed a quick throw after picking up a knock clearing the ball close to the touchline.
Millwall keeper George Long was called into action next, tipping over an ambitious 35-yard lob from Reda Khadra.
The German midfielder then set up Birmingham’s 28th-minute opener beautifully, surging away from Danny McNamara before slipping in Jutkiewicz.
The 34-year-old rounded defender and keeper to sneak in his fifth goal of the season from the tightest of angles.
No club has scored more goals from set pieces than Millwall’s 14 this season and once more it appeared the hosts’ most likely source for an equaliser.
Zian Flemming’s dipping free-kick brought a fingertip save from Ruddy and seven minutes later Jake Cooper headed a corner inches wide of the back post.
Millwall finished the half the brighter but barely 10 seconds after the break Long was forced to parry a fierce deflected effort from Khadra.
Soon, Rowett’s side were on top again but top scorer Tom Bradshaw’s close-range diving header lacked the sufficient power to beat substitute Neil Etheridge, who replaced the injured Ruddy seven minutes before the interval.
The veteran keeper then got down superbly to turn away Oliver Burke’s low strike midway through the half.
But the 33-year-old was frozen to the spot when Burke’s long-range curling effort whistled past his post minutes later.
Millwall redoubled their efforts to find an equaliser and Andreas Voglsammer almost brought down a long through ball metres away from a defenceless Etheridge.
The Blues keeper produced an outstanding double stop in the 82nd minute, first to parry Callum Style’s fizzing strike and then to smother the follow up from Bradshaw.