Ben Hamer had to make an early save for the visitors as Matty James had a chance for Leicester, while Yann Kermorgant was flagged offside as he pushed for an early goal for Charlton.
The deadlock was broken in the 19th minute, Kermorgant slotting the ball past Kasper Schmeichel from inside the box.
The goal triggered a strong spell for the visitors, while Leicester looked messy at times. The Foxes finished the half strongly, with Anthony Knockaert and Matty James both having shots for the home side.
However, the promotion hopefuls could not level the scores before the break, with Kermorgant's goal separating the sides.