Il commence sa carrière en 1998 avec les Otters d'Érié en Ligue de hockey de l'Ontario. Il est sélectionné en 2000 au cours du repêchage d'entrée dans la Ligue nationale de hockey par les Maple Leafs de Toronto en , en . En 2002, il passe professionnel chez les Maple Leafs de Saint-Jean en Ligue américaine de hockey. En 2003, il joue son premier match de LNH avec les Sharks de San José. En 2005, il rejoint les Bruins de Boston et, deux ans plus tard, les Blues de Saint-Louis. Le , il est échangé aux Sabres de Buffalo en retour d'un choix de deuxième ronde lors du Repêchage d'entrée dans la LNH 2011. Le 1er juillet 2012, il signe un contrat d'un an d'une valeur d'un million de dollars avec les Islanders de New York à titre d'agent libre.