Gary Roberts has left the Spireites to join Portsmouth after the two clubs agreed an undisclosed fee.
Roberts links up with former manager Paul Cook at Fratton Park after two years at the Proact Stadium.
"At the age of 31, Gary has understandably been lured by the offer of a three-year contract," explained Chesterfield chief executive Chris Turner. "We felt it would not have been in the best interests of the club to have given him a similar deal. We only agreed to sell Gary when Portsmouth returned with an improved offer after we turned down their initial bid.
"Dean Saunders wanted to keep Gary and had several conversations with him, trying to persuade him to stay, but he was adamant that he wanted to join Portsmouth.
"Gary was an instrumental figure in our League Two title-winning side and on behalf of the club I would like to thank him for his valuable contribution and wish him all the best for the future."
Roberts scored 20 goals in 89 appearances for Chesterfield.