College and amateur Peterson played youth soccer for local powerhouse Michigan Wolves, whom he led to four state championships, two Midwest regional championships, and a third-place finish at the nationals, He played college soccer at
Indiana University for three years from 2003 to 2005 where he scored 30 goals in 71 appearances. He also spent two seasons in the
USL Premier Development League, playing for
Michigan Bucks in 2004 and
Kalamazoo Kingdom in 2005.
Professional Peterson was drafted in the second round, 21st overall, of the
2006 MLS SuperDraft by
Colorado Rapids. He was a major part of the Rapids midfield from 2006 to 2009, amassing over 100 appearances for the club in all competitions. In January 2010, Peterson was traded to
Toronto FC in exchange for allocation money. He made his debut for the club as a sub against
Philadelphia Union April 15, 2010. Peterson scored his first goal for Toronto in the
CONCACAF Champions League group stage versus
Real Salt Lake in a 1–1 home draw on September 28. On October 16, Peterson scored his first league goal for Toronto in a 2–2 home draw with
Columbus. After a disappointing first half of 2011, Peterson was traded along with
Alan Gordon and
Nana Attakora to
San Jose Earthquakes for
Ryan Johnson, allocation money, and an
international roster spot. Peterson remained with San Jose through the 2011 season. At season's end, the club declined his 2012 contract option, and he entered the
2011 MLS Re-Entry Draft. Peterson was not selected in the draft and became a free agent.
Sporting Kansas City signed Peterson ahead of the 2012 season. He would play five seasons with Sporting KC and was part of the
2013 MLS Cup winners and two
Lamar Hunt U.S. Open Cup-winning squads. During his time with Sporting, he became known for his hard work and versatility, garnering the nickname "The Answer" for his ability to fill in at multiple positions. A free agent after the 2016 season, Peterson signed with expansion
Atlanta United for 2017. He scored 3 goals in 10 appearances for the Five Stripes before being waived by the club on January 29, 2018. In 2020 he returned to Sporting Kansas City as part of the club's broadcast team. In March 2022, Peterson joined the Sporting KC technical staff as a scout. ==Honors==