Wade Elliott struck a stoppage-time equaliser for Birmingham as Charlton threw away the lead once again.
The Addicks looked set for victory when former Leicester man Yann Kermorgant headed home two minutes from time.
But former Burnley player Elliott still found time to level after meeting Chris Burke's low cross.
It was the third straight game Charlton failed to win after leading in the closing stages while Lee Clark's Birmingham continued their recovery.
Since losing at home to Cardiff City on 1 January, the Blues are unbeaten in five Championship games.
There was little sign of the drama to come in the previous 88 minutes, which were notable only for the poor finishing of both sides on a tricky playing surface.
Burke, Elliott and Marlon King all wasted chances for the visitors.
At the other end, Blues goalkeeper Jack Butland enhanced his growing reputation to keep out Ricardo Fuller and Scott Wagstaff, while Lawrie Wilson headed another chance narrowly wide.
But just as it appeared the game would end goalless, Addicks defender Chris Solly crossed for French forward Kermorgant to head home.
Yet Charlton's celebrations were short lived, Elliott connecting with Burke's cross to equalise with virtually the last kick.
Birmingham manager Lee Clark on goalkeeper Jack Butland, who has returned on loan after signing for Stoke: "He is an exceptional talent, one of the best young talents in Europe.
"How many young lads would have turned down the opportunity to go and play for Chelsea?
"He looked at the football side of it and he wants to play and educate himself. That for me shows you what the lad is about, that's why he is going to be a top keeper.
"It won't be long before Jack is pushing Joe Hart to be the number one - and I think Joe knows that."
Charlton manager Chris Powell: "We came across a keeper who was in imperious form.
"He made some really good saves and you could see why he has gone to the Premier League.
"It's a real shame because the boys performed really well in conditions that were tough.
"We eventually got the breakthrough late in the game and were just looking to see it out in a strong way, but it hasn't happened and we were disappointed."