Harry Lennon struck a last-gasp leveller to somehow rob City of all three points in a game they dominated in its entirety.
Nathan Baker’s first career goal looked like being enough to secure City a 1-0 win that would have flattered a visiting team who failed to make any sort of impression at Ashton Gate.
But chances continued to come and go for Steve Cotterill’s men, including a penalty hammered against the crossbar by Marlon Pack on 64 minutes, before Lennon pounced with a sucker punch.
Manager Cotterill made one change to his starting line-up following the 1-1 draw with Queens Park Rangers at Ashton Gate last time out.
Joe Bryan, who started the recent victory at Huddersfield Town before setting up Aaron Wilbraham’s equaliser against QPR, was recalled at left wing-back in place of Derrick Williams, who had been struggling with a slight injury in the lead up to the game.
It may have been Charlton who registered the first attempt on goal courtesy of their Iranian forward Reza Ghoochannejhad, comfortably saved by Frank Fielding, but it was City who carried the greater attacking intent in the opening exchanges.
Korey Smith drilled a searching low pass to the right touchline to find Elliott Bennett, whose cross was headed over by Jonathan Kodjia, before Bryan stepped inside on his right foot and let fly with a vicious strike tipped over by Stephen Henderson.
Bennett produced another cross in the 16th minutes that left former City stopper Henderson in trouble as he failed to claim the high ball under pressure from Wilbraham and Jonathan Kodjia, but Bryan was unable to keep a tricky bouncing ball down as his shot flashed over.
One man looking to benefit from Bryan’s inclusion in the side was Wilbraham, who twice threatened an opener from crosses by the Bristolian.
First Henderson fumbled a Bryan free kick into the path of the City skipper, who seemed to be taken by surprise and was unable to convert the loose ball before the offside flag spared his blushes.
Then Bryan delivered an absolute peach from the left flank in open play – the best cross of the match – which was met by a thumping Wilbraham header and an excellent Henderson save, though again the flag was raised in any case.
City were getting closer, and Smith pulled out another penetrating pass to set Kodjia running through, taking the ball expertly in his stride only to send his shot well wide on his left foot under pressure from a retreating backline.
It was beginning to feel like the entire game was being played in the Charlton half, but still City had nothing to show for their dominance.
This was despite Kodjia producing some brilliant work to get away from his man down the right side of the penalty area and pull the ball back for Wilbraham, who had a free shot from ten yards but sent the chance ballooning over the crossbar.
Such was Charlton’s timewasting, even from the early stages, as well as an injury to former France international Alou Diarra, City would be handed an additional six minutes to find a first-half breakthrough.
They would need all six, too, as Baker forced home his first City goal at the back post after Henderson had again looked uncomfortable under a high ball – this time Luke Freeman’s swirling corner that almost crept inside the goal frame even without Baker’s touch from point-blank range.
The second period would continue in exactly the same fashion with City still firmly on the front foot.
Kodjia twice had headed chances that came and went, initially failing to apply enough purchase to a fine Luke Ayling cross from deep before the reverse was true when Charlton were opened up again.
This time Pack slid the ball inside the full-back for the influential Bryan to get in behind and feed Wilbraham with another inviting cutback that the veteran struck against a defender, before the ball looped up kindly for Kodjia, who could not keep his header down from four yards when a fainter touch would have doubled City’s lead.
Still the hosts continued to pour forward. Again Kodjia could not hit the target on his left foot with a chance you would expect him to score on his right, before a Freeman corner similar to the goal struck Baker and somehow eluded the waiting Wilbraham.
Eventually the golden chance would come for City to give themselves daylight in the contest as the game approached its three-quarter mark.
Kodjia had proved a handful for the Addicks’ defence all afternoon and did so again when he twisted and turned and eventually lured a foul when he was pulled back inside the box.
Cue City’s first penalty of the season, eventually awarded by referee Oliver Langford, who initially turned a blind eye before changing his mind on the advice of his assistant.
Up stepped Pack, who scored from the spot against Barnsley in March, but this time he sent the stationary ball crashing against the underside of the crossbar as Charlton somehow survived another assault.
Slowly but surely the visitors seemed to grow in belief, as if only just realising they were still in with a chance of nicking a result from a game they had been totally outplayed in.
There would be nervous moments for City to negotiate, as Fielding plunged to his right to make an important save from defender Lennon before Baker launched himself in the way of Ghoochanejhad’s last-gasp volley.
But just as City looked to have got the victory they deserved, Lennon popped up to equalise deep into added time and leave Ashton Gate in a state of shock.