The much-travelled former Blackburn Rovers, Barnsley, Port Vale and Chesterfield striker is in his second spell at Northampton, where he has hit 62 goals spread over 185 appearances.
"Marc is not just a very good player," said manager Justin Edinburgh.
"He's a captain, a leader and someone who helps set the dressing room tone."
Richards' new deal follows the lead of midfielder John-Joe O'Toole, who signed a new two-year deal with the League One club on Friday.
"We have kept hold of two of our key players from the last two seasons," said Edinburgh. "It is an excellent way to begin our summer's work.
"He has a fantastic attitude, his goal tally this season is impressive, he looks as fit and strong as ever and I know he feels happy and settled at the club."
Richards, who was out of contract in June, was part of the Cobblers' side who drew 0-0 in Sunday's final game of the season against Gillingham to finish the season in 16th.
He has scored 13 goals this season, matching O'Toole's total of 10 in the league.
That has taken his career total to 186 from 591 games with 10 different clubs.
Meanwhile, goalkeeper James Goff and striker Joe Iaciofano have signed their first professional contracts with the club.
Northampton Town skipper Marc Richards has committed himself to the Cobblers for another season by signing a new one-year contract at the age of 34.