QPR loanee Campbell made amends for missing an early penalty by firing in his ninth goal of the season, and Celtic frontman Murphy doubled their lead before half-time.
Danny Haynes pulled one back from the spot for Charlton but they could not avoid crashing to a third straight defeat on manager Chris Powell's 100th game in charge of the club.
Campbell should have given Ipswich the lead after a quarter of an hour, when Emmanuel Frimpong brought down Lee Martin in the area. The striker stepped up to take the penalty but fired his effort horribly wide of Ben Hamer's goal.
Charlton midfielder Dale Stephens then rattled the post with a 25-yard free-kick, but it was Ipswich who took the lead in the 34th minute through Campbell. The Addicks could not clear Andy Drury's cross from the right, Murphy pulled the ball back and Campbell this time made no mistake.
Town goalkeeper Henderson saved well from Ricardo Fuller as Charlton attempted to hit straight back, but instead the hosts found themselves two behind at the break.
Stephens lost the ball and Martin's shot was blocked by Hamer but Murphy was on hand to tuck in the rebound on the stroke of half-time.
Powell made a double substitution at the break, sending on Bradley Pritchard and skipper Johnnie Jackson, and they looked a different team at the start of the second half.
But Rob Hulse's header was held by Henderson before Fuller and Jackson got in each other's way as they went for Haynes' cross into the area.
However, they were given a lifeline in the 72nd minute when Martin tripped overlapping full-back Chris Solly in the area and Haynes blasted the spot-kick into the top corner.
As the Addicks piled forward in search of an equaliser, Hulse was denied by the feet of Henderson and Stephens' free-kick flew narrowly wide.
In four minutes frantic minutes of added time Stephens drove another shot the wrong side of the post and an overhead kick from Yann Kermorgant flew over the crossbar, but Ipswich held on to edge further clear of the drop zone.