He has signed a two-year deal with the Spireites after turning down an offer to stay at Vale Park.
The 30-year-old was voted player of the season at Vale, who were relegated to League Two, this year.
"Although I was happy at Port Vale, I liked the sound of what was happening here and decided that Chesterfield was the better option for me," he said.
Scunthorpe-born Harsley was a trainee at Grimsby, but moved to his hometown club in 1997.
He was released in 2001, and spent time at Halifax, Northampton and Macclesfield before joining Vale in 2006.
The Port Vale manager Lee Sinnott thanked Harsley, and wished him well at Saltergate.
"I'd like to thank Paul for his services to the club, we understand his position as he understands ours," he said.
"Everyone at Port Vale wishes Paul well for the future and we hope that Paul does well for Chesterfield."