Craig Beattie's superb 63rd-minute goal settled a frenetic south London derby in Crystal Palace's favour.
The Scotland international had hit the bar in the first half but made no mistake when he cushioned a header past Nicky Weaver from Ben Watson's cross.
Palace almost scored a second when Jose Fonte headed another Watson cross against the crossbar.
Alan Pardew threw on three attacking subs, but his side have now picked up four points in six games.
Crystal Palace manager Neil Warnock on Craig Beattie's impact: "He has given us something over the last two games.
"It works well for both of us. He needs some games and he's come in at the right time for us. We are playing 20 or 30 yards further up the pitch now and getting a lot more of the ball. It's been a great two weeks for us.
"We want to attack, we want to have an atmosphere and it was a great derby. It's good for the fans and it will be great to be a Palace fan tonight."
Charlton manager Alan Pardew: "It was a real derby with no quarter given. We had chances but the final ball just wasn't there to give us a lift and I thought their goal was offside, so that was disappointing.
"The boys are fully committed but I'm looking at one or two and thinking I need to give other people a chance.
"We are still above Palace but we are falling behind the pace now and we need to put a little run together, otherwise we could find ourselves in trouble."
Bookmark with:
What are these?