Birmingham got off to a good start and could have taken the lead if not for a good save from David Forde, who tipped Nathan Redmond's free kick past the post.
Redmond was in the action minutes later as he beat his man and lifted a cross to Nikola Zigic, who nodded the ball back to Ravel Morrison on the edge of area but he fired his effort over.
Millwall thought that they had taken the lead when Chris Taylor's effort was turned in by Richard Chaplow but it was ruled offside, only for the referee to have a change heart. However, after an appeal by the hosts' players he changed his mind yet again and disallowed the goal.
Wes Thomas almost gave the home side the lead when he met Paul Caddis's cross with a first-time volley, but Forde was there to make the save.