The 31-year-old centre-back joined the fight against relegation after recovering from injury and made nine appearances in the successful outcome.
"I'm really pleased to have Anthony on board with us," said Northampton manager Aidy Boothroyd.
"He's in very good shape, he's a good character and I've been very impressed with him," he added.
"He had a lot of alternative offers from other clubs so we're delighted he's agreed to re-sign, and I know he's determined to have a good season."
Charles has experience with a number of other clubs including Farnborough, Hayes and Barnet, and played 180 games for Aldershot in his second spell there between 2007 and 2011.
The Cobblers are waiting on decisions on new deals from goalkeeper Neal Kitson, defender Clarke Carlisle and midfielder Michael Jacobs.