Leroy Lita grabbed the only goal of the game on the hour to halt Norwich's run of two defeats and make it 14 matches without a win for Charlton.
The on-loan Reading striker drilled past keeper Rob Elliot for the winner after being set up by Sammy Clingan.
It was no less than the Canaries deserved, with Mathew Pattison and David Bell also going close.
Norwich keeper David Marshall repelled Charlton's best efforts, saving well from Mark Hudson and Hameur Bouazza.
Norwich boss Glenn Roeder told BBC Radio Norfolk: "Hard fought, but thoroughly deserved, Charlton came and tried to do a job on us, they're dificult games to play in.
"In my opinion they played a hard game, a fair game, but we deserved to win there's no doubt about that.
"For me a perfect result, score one at the other end, keep a clean sheet, I'm a happy person today and I thought we played some good football as well.
Charlton caretaker-manager Phil Parkinson: "We came in at half-time pleased and started the second half well, but when the goal went in it really knocked us.
"We started giving the ball away too cheaply and we were asking for trouble.
"The lads are an honest bunch and kept battling away but we just couldn't find a way to unlock the Norwich defence."
Bookmark with:
What are these?