Mitchell grew up in Waterloo, Ontario, playing minor hockey for the Waterloo Wolves of the Alliance Pavilion League. In the 2000–01 season, Mitchell led his Waterloo Wolves Bantams to a solid season and was selected in the first round (19th overall) of the 2001 OHL Priority Selection by the Plymouth Whalers. Mitchell was selected in the first round, 19th overall, of the 2001 OHL Priority Selection Draft by the Plymouth Whalers. He served as captain of the Whalers in his final season with the team.
On February 28, 2011, Mitchell was traded from the Toronto Maple Leafs to the New York Rangers in exchange for a seventh round draft pick in 2012.[2] After starting the 2011–12 season with the Rangers AHL affiliate Connecticut Whale, Mitchell was called up to the Rangers for a game on November 25, 2011, in which he registered his first point for the Rangers by assisting on a goal by Brian Boyle.[3][4]
On July 1, 2012, Mitchell signed a two-year contract as a free agent with the Colorado Avalanche.[5] In the lockout shortened 2012–13 season, Mitchell scored a goal on his first shift in his Avalanche debut in their season opener against the Minnesota Wild on January 19, 2013.[6] On January 31, Mitchell tied a career high in scoring two goals and adding an assist in a 6-3 victory over the Calgary Flames. Whilst short of team success, he showed his versatility in a checking and offensive role in scoring 10 goals and 20 points in 47 games.
In the following 2013–14 season, Mitchell scored his 100th career point in recording 2 assists in a 3-2 shootout victory over the Minnesota Wild on November 30, 2013.[7] He later appeared in his 300th career game on December 14, also against the Wild. On March 14, 2014, he was rewarded for his play in signing to a three-year contract extension through the 2016–17 season to remain with the Avalanche.[8] After suffering a concussion, approaching the playoffs, Mitchell was sidelined for the remainder of the campaign. He recorded a career high 21 assists and 32 points in 75 games.
Leading into the final year of his contract with the Avalanche, Mitchell was injured during training camp with a hip flexor issue, ruling him out of the beginning of the 2016–17 season. He missed the first 5 games of the year before he returned to health and was included in the lineup on October 28, 2016, in a 1-0 defeat to the Winnipeg Jets.[9] After four scoreless games centering the fourth-line under the direction of new head coach, Jared Bednar, Mitchell was surprisingly placed on waivers by the Avalanche on November 4, 2016.[10] Mitchell went unclaimed and continued to remain on the Colorado roster. Drawing back into the lineup, Mitchell played out the final year of his contract scoring a career low 3 goals and 7 points in 65 games for the bottom placed Avalanche.
As a free agent in the off-season, Mitchell was not given a contract offer, he later signed a professional try-out contract to attend the training camp of the Chicago Blackhawks on September 11, 2017.[11] On September 21, 2017, Mitchell was released from the Blackhawks roster and immediately signed to another PTO to join the Columbus Blue Jackets pre-season roster.[12][13] On September 27, he was released by the Blue Jackets for a second time within a week.[14] The following day he signed a professional try-out contract to begin the season with the Blue Jackets AHL affiliate, the Cleveland Monsters.[15] He began the 2017–18 season with the Monsters, adding a goal and assist in 3 games before he opted for a release from his tryout on October 16, 2017. On October 23, Mitchell opted to embark on a European career in signing with the Thomas Sabo Ice Tigers of the Deutsche Eishockey Liga.[16] He appeared in 49 DEL games for Nürnberg during the 2017–18 campaign, scoring 17 goals while assisting on 26 more.
On May 4, 2018, Mitchell left the Ice Tigers as a free agent and inked a one-year deal with current German champions EHC München.[17] In the 2018–19 season, Mitchell scored 38 points in 43 regular season games, helping Red Bull return to the Finals for the fourth consecutive year with 7 points in 18 games. After a finals defeat to Adler Mannheim, Mitchell concluded his professional playing career after 14 seasons.[18]