The 29-year-old scored 17 goals for the Valiants last season but has now agreed to move to the b2net Stadium on a deal running until June 2014.
Chesterfield chief executive Chris Turner told the club's official website: "I am absolutely delighted that Marc Richards has decided to join the Spireites.
"We have had to fight off competition from several League One and Two clubs to get his signature but he is a natural goalscorer and the type of player who will bring his experience to a side intent on pushing for promotion.
"One of the selling points of the club was the attacking style of play encouraged by manager John Sheridan."
Richards made 202 appearances for Vale in all competitions since his arrival from Barnsley in 2007, scoring 75 goals.