The 22-year-old spent the first half of this season on loan at Glanford Park, but made 13 appearances for the Addicks after returning to The Valley in January.
"Kelly's one of our up and coming young players and I have high hopes for him next season," said the Charlton manager Alan Pardew.
"He gained good experience this season so we're pleased to secure him for the next three years. Hopefully he can continue to develop."