Grał w kanadyjskich ligach juniorskich oraz amerykańskiej lidze akademickiej NCAA. W drafcie NHL z 2000 został wybrany przez Phoenix Coyotes. Od 2001 grał w rozgrywkach NHL. Ponadto epizodycznie grał w AHL oraz ligach europejskich: niemieckiej DEL, fińskiej SM-liiga i szwajcarskiej NLA. W styczniu 2012 podpisał dwuletni kontrakt z Calgary Flames, jednak od tego czasu w drużynie NHL zagrał tylko 13 meczów i występował poza tym w zespole farmerskim w AHL. W sezonie 2010/2011 oraz od połowy 2013 do końca tego roku nie grał. W połowie stycznia do końca kwietnia 2014 zawodnik rosyjskiego klubu Torpedo Niżny Nowogród w lidze KHL. Od listopada 2014 do końca stycznia 2015 zawodnik chorwackiej drużyny KHL Medveščak Zagrzeb. Od końca listopada 2016 do końca tego roku kalendarzowego zawodnik Starbulls Rosenheim. Od początku stycznia 2017 zawodnik włoskiego Asiago Hockey. Od 1 października 2017 do 24 stycznia 2018 zawodnik GKS Tychy. Następnie został zawodnikiem włoskiego klubu SG Cortina