Cracknell played junior hockey in the Vancouver Island Amateur Hockey Association (VIAHA) Midget A1 league with the Juan de Fuca Grizzlies Minor Hockey Association, later for the Kootenay Ice in the Western Hockey League (WHL) between 2002 and 2006. Following his second season with the club, he was selected in the ninth round (279th overall) by the Calgary Flames during the 2004 NHL Entry Draft. As a member of the 2004–05 team, the Ice won the league's regular season championship. During the 2005–06 season, Cracknell led the team in goals (42), assists (51), and points (93); finished second in the WHL in total points; and was named to the WHL West Second All-Star Team.[1]
Cracknell spent the majority of the 2011 season playing for the Blues affiliate, the Peoria Rivermen of the American Hockey League. The Blues recalled him on March 1, 2011, and on March 12, Cracknell scored his first NHL goal in a game against the Detroit Red Wings. On April 17, 2014, Cracknell scored his first Stanley Cup Playoff goal in Game 1 of the Western Conference Quarter Finals against the Chicago Blackhawks, a series the Blues lost in six games.
Los Angeles Kings and Columbus Blue Jackets
On July 1, 2014, Cracknell signed a one-year deal as a free agent with the defending Stanley Cup champion Los Angeles Kings.[2] However, during training camp Cracknell failed to impress the Kings, who placed him on waivers. The Columbus Blue Jackets claimed him on October 7.[3] Cracknell appeared in 17 games for the Blue Jackets, recording one assist. Cracknell also appeared in 18 games for the Blue Jackets AHL affiliate, the Springfield Falcons, and recorded three goals and seven points.
Return to St. Louis
On February 26, 2015, Cracknell was reacquired by the Blues in exchange for future considerations.[4] Cracknell spent the remainder of the season with the Wolves.
Vancouver Canucks and Edmonton Oilers
On August 25, 2015, the Vancouver Canucks signed Cracknell as a free agent to a one-year, two-way contract.[5] Expected to begin the year with the Utica Comets, Cracknell impressed at training camp and was named to the Canucks' opening night roster for the 2015–16 season. On October 12, 2015, he scored his first goal for the Canucks.[6] Cracknell appeared in a career-high 44 games in Vancouver before he was placed on waivers and claimed by the Edmonton Oilers on February 29, 2016.[7]
Dallas Stars
On July 3, 2016, Cracknell moved again, signing as a free agent with the Dallas Stars on a one-year, two-way contract.[8] In his first game with the Stars, Cracknell recorded 2 points with a goal and an assist.[9] On March 24, 2017, Cracknell scored his first career hat trick in a 6–1 win against the San Jose Sharks.
New York Rangers
Cracknell played in a single game with the Stars to start the 2017–18 season before he was placed on waivers. On October 9, 2017, his tenure with the Stars ended, as the New York Rangers claimed Cracknell off waivers.[10] After playing four games with the Rangers, Cracknell was placed on waivers on October 24 and later reassigned to AHL affiliate, the Hartford Wolf Pack.[11]
Montreal Canadiens
Cracknell appeared in 15 games with the Wolf Pack before he was traded to the Montreal Canadiens in exchange for Peter Holland on November 30, 2017.[12] Cracknell was immediately assigned to the Canadiens' AHL affiliate, the Laval Rocket and played out the remainder of the season, contributing with 27 goals and 48 points in 52 games.
Toronto Maple Leafs and Anaheim Ducks
On July 1, 2018, a free agent, Cracknell agreed to a one-year, $650,000 contract with the Toronto Maple Leafs.[13] In the ensuing 2018–19 season, Cracknell appeared in 14 games and posted 10 points with AHL affiliate Toronto Marlies before the Maple Leafs traded him to the Anaheim Ducks in exchange for Steven Oleksy on December 10, 2018.[14]
Kunlun Red Star
After spending his first 13 professional seasons in North America, Cracknell left the NHL and signed his first contract abroad, agreeing to a one-year contract with Chinese club Kunlun Red Star of the KHL on July 4, 2019.[15]
Return to Edmonton
On September 10, 2020, Cracknell returned to North America and the Oilers' organization, signing a one-year, two-way contract.[16] Assigned to the Oilers AHL affiliate, the Bakersfield Condors for the pandemic delayed 2020-21 season, Cracknell appeared in all 39 regular season games posting 11 goals and 19 assists for 30 points, placing third on the team in scoring. He helped the Condors claim the Pacific Division title in a playoff format by leading the club with 10 points in six postseason games.
An impending unrestricted free agent, Cracknell opted to remain within the Oilers organization, agreeing to a one-year AHL contract to continue with the Condors on June 2, 2021.[17]
Tucson Roadrunners and Henderson Silver Knights
Following two seasons with the Condors, Cracknell left as a free agent and was signed to a one-year AHL contract with the Tucson Roadrunners, a primary affiliate of the Arizona Coyotes, on July 26, 2022.[18]