W sezonie 1999/2000 występował w amerykańskiej lidze NAHL. Następnie w drafcie do kanadyjskich juniorskich rozgrywek OHL w ramach CHL został wybrany z numerem 20 przez klubu Plymouth Whalers, po czym występował w jego barwach przez cztery sezony. W międzyczasie w drafcie NHL z 2002 został wybrany przez Chicago Blackhawks. Od 2004 do 2006 grał głównie w zespole farmerskim Norfolk Admirals w lidze AHL. Równolegle od 2006 do 2009 występował w drużynie z Chicago w rozgrywkach NHL. Następnie trafiał do trzech kolejnych klubów NHL: w marcu 2009 do Anaheim Ducks (tam przedłużał kontrakt w lipcu 2009 i w lipcu 2010) w lipcu 2010 do New York Islanders, w grudniu 2010 do Montreal Canadiens. 29 czerwca 2011 został zawodnikiem Columbus Blue Jackets, po czym 1 lipca 2011 podpisał z klubem sześcioletni kontrakt. Od marca 2015 zawodnik Anaheim Ducks. Od czerwca 2015 zawodnik Carolina Hurricanes. W czerwcu 2016 został wolnym zawodnikiem po tym jak jego kontrakt został wykupiony przez klub. Od końca października 2016 zawodnik rosyjskiego klubu Admirał Władywostok w lidze KHL. W grudniu 2016 czasowo zawodnik HC Lugano na czas turnieju Puchar Spenglera 2016. Wkrótce potem zwolniony z Admirała. Od stycznia 2017 zawodnik Chicago Wolves na zasadzie kontraktu próbnego w wymiarze 25 spotkań. Od października 2017 zawodnik niemieckiego klubu Kassel Huskies w rozgrywkach DEL2.