The Addicks had thrown away the lead by leaking late goals to lose their last two matches 2-1, but when Yann Kermorgant put them ahead with two minutes left Birmingham hardly had any time to respond.
Yet once again Chris Powell's side could not hang on and Elliott denied them a victory with the leveller in the 94th minute.
There was little sign of the drama to come in the previous 88 minutes notable only for the poor finishing of both sides on a tricky playing surface.
The first couple of chances fell to the visitors but Chris Burke and Elliott set the tone by firing them over the crossbar.
Charlton soon began to dominate, though, and could have taken an early lead when Johnnie Jackson's clever free-kick found Dale Stephens, only for the midfielder's shot to be deflected wide.
Ricardo Fuller was then put through by a neat backheel from Stephens but his shot was well kept out by Jack Butland.
Another slick Charlton move saw Chris Solly cross to Scott Wagstaff, who laid the ball to Kermorgant but the Frenchman's shot was deflected behind.
From the resulting corner Stephens crossed to Lawrie Wilson, who headed just wide, before Fuller's turn and shot flew just the wrong side of the far post.
Birmingham upped their tempo after the break, with on-loan West Ham striker Rob Hall looking dangerous.
Hall fired in an angled drive which home keeper Ben Hamer was able to gather comfortably, before latching on to Elliott's pass and flashing a shot across goal.
At the other end Butland was enhancing his reputataion by denying Wagstaff from point-blank range following a goalmouth scramble, and also preventing defender Curtis Davies from inadvertantly breaking the deadlock with an own-goal.
But just as it seemed both sides could play all day without managing to hit the back of the net, Addicks defender Solly overlapped and crossed from the right. Kermorgant met it well and finally got the better of Butland with a fine header.
However, just as they had in the last two games, Charlton backed off and when Burke drilled a low cross into the penalty area Elliott was on hand to turn it home with virtually the last kick of the match.