A late goal from Paolo Di Canio ensured that Manchester City's winless streak now stretches to 13 matches.
Charlton's Italian striker found the net with little over six minutes remaining after City had looked set to record their first victory for over two months.
Indeed, it seemed as though it might be City's night as goalkeeper David Seaman guessed right, diving low to his right to keep out Di Canio's spot-kick which had been awarded for handball by Richard Dunne.
But as the ball bounced free after hitting Seaman, Di Canio reacted fastest to fire past the grounded keeper to cancel out Robbie Fowler's first-half strike which had lifted City's spirits.
City manager Kevin Keegan was bitterly disappointed with the award of the penalty saying it typified their bad luck.
He said: "I felt the referee bought it and it was a very unlucky penalty.
"As the ball came over maybe it hit him, but it cost us two points. I have been saying our performances haven't deserved what we have been getting.
"We are not getting the rub of the green. If something goes wrong it has done, but we have to keep going. I couldn't fault the effort of my players and we deserved more than a point." Charlton manager Alan Curbishley thought the penalty evened things out, claiming his side should have been awarded a 'blatant' spot kick in the first half for a challenge on Jonatan Johansson by Dunne.
It had looked as though City's wretched run was about to end after they went ahead late in the opening half.
Charlton failed to halt Nicolas Anelka who beat three opponents on a weaving run into the penalty area.
As the Frenchman was finally halted the ball took a lucky ricochet into the path of Fowler, who found the net with a shot on the turn from six yards.
It was Fowler's third goal in the last four matches and his sixth of the season.
Charlton only once threatened in the first half when Di Canio ought to have hit the target when he was set up by Johansson.
The Londoners came more into the match in the second period with Scott Parker and Di Canio both wasting clear-cut chances.
City remained in control until Dunne's late aberration.
Referee Peter Walton judged that the defender had handled Radostin Kishishev's free-kick and pointed to the spot to the anguish of the City players and fans alike.