Wychowanek klubu Crowchild MHA. Przez cztery sezony grał w juniorskich rozgrywkach WHL w ramach CHL. W międzyczasie w drafcie NHL z 2004 został wybrany przez Edmonton Oilers. Następnie grał w ligach ECHL i AHL w amerykańskich zespołach. Zawodnikiem Edmonton Oilers w lidze NHL jest na stałe od końca roku 2009. Kolejno przedłużał umowę z klubem rok[2][2], a w lipcu 2012 o dwa lata[3]. Od połowy stycznia 2014 zawodnik Nashville Predators[4]. Od marca 2014 zawodnik Montreal Canadiens[5]. Od lipca 2014 zawodnik Arizona Coyotes[6]. Od stycznia 2015 zawodnik Minnesota Wild[7]. Na początku października 2020 przeszedł do San Jose Sharks[8]. W kwietniu 2021 przeszedł do Colorado Avalanche[9]. Od grudnia 2021 do stycznia 2022 reprezentował Charlotte Checkers[10][11]
Kariera reprezentacyjna
Został reprezentantem Kanady. Występował w kadrze juniorskiej kraju na mistrzostwach świata do lat 18 w 2004, do lat 20 w 2005. W kadrze seniorskiej uczestniczył w turniejach mistrzostw świata2010, 2011, 2012, 2013.