Charlton climbed out of the Premiership relegation zone for the first time since September after picking up a battling point against Manchester City.
Charlton climbed out of the bottom three following the draw
Emile Mpenza saw his header cleared off the line in a whirlwind City start.
Scott Carson also denied Joey Barton twice before half-time but the home side ran out of ideas after the break.
Charlton did not force City keeper Andreas Isaksson into a save but the draw was still enough for them to move above Sheffield United into 17th place.
The Addicks are now unbeaten in their last five games and have not conceded in their last three matches.
Alan Pardew's side have still only won once on the road all season but the importance of climbing out of the drop zone was clear by their reaction at the final whistle.
It was a vital game for City too - they had lost their previous four games at Eastlands but knew a win would virtually assure them of safety.
And despite their woeful recent home record City made an impressive start with the only thing missing being an all-important goal.
Stuart Pearce's side forced 10 corners in the first half - with five coming in the first three minutes - as they attacked at every opportunity.
Predictably, Belgian striker Mpenza was in the thick of the action for City, and he and Barton had City's best early chances.
Mpenza, who had scored City's winners in their last two matches, forced a close-range save from Carson before Faye cleared his header off the line.
A battling run from Michael Johnson ended with a powerful shot by Barton that was well saved by Carson and the keeper repeated the trick when Stephen Ireland teed up Barton soon after.
Charlton had offered little in response, with their best effort coming when City defender Richard Dunne almost headed a Jerome Thomas cross into his own net.
But they at least managed to take the sting out of City's attack in the second half.
Carson went from being the busiest man on the pitch to being a virtual spectator as City continued to show why they have failed to score in 15 of their previous 30 league games this season.
The home side did threaten when Nedum Onuoha headed over when well-placed but that was as good as it got for Pearce's men.
And Charlton could even have snatched an unlikely win when Darren Bent found Zheng Zhi free on the edge of the box but the China international's poor first touch allowed Onuoha time to get in a challenge.
Manchester City boss Stuart Pearce:
"Our top priority is to stay in this league.
"But with the matches we have left we are looking to finish as high as we possibly can.
"We know it is not going to be easy but there are a lot of teams in a compact group and you are better off finishing top of that group than the bottom."
Charlton boss Alan Pardew:
"We've just got a point away from home, which we've not done much this year, so that has to be a good result.
"I feel a few teams around us will be starting to feel a bit nervous now.
"I know there are matches to be played on Saturday but the fans of those clubs will be apprehensive about their teams and that can spread to the pitch."
Man City: Isaksson, Onuoha, Dunne, Distin, Ball, Johnson, Barton, Jihai, Ireland (Sinclair 74), Vassell (Samaras 74), Mpenza.
Subs Not Used: Weaver, Dabo, Beasley.
Charlton: Carson, Young, El Karkouri, Diawara, Hreidarsson, Zheng, Song Billong, Faye, Thomas (Rommedahl 90), Marcus Bent, Darren Bent.
Subs Not Used: Randolph, Ambrose, Lisbie, Bougherra.
Ref: A Wiley (Staffordshire).