Jest wychowankiem klubu Bert Robinson Flames. Od 2005 przez cztery sezony grał w juniorskich rozgrywkach OHL w ramach CHL w barwach Belleville Bulls. W międzyczasie w drafcie NHL z 2007 został wybrany przez Montreal Canadiens. W maju 2009 podpisał kontrakt wstępny z tym klubem. W sezonie 2009/2010 grał w zespole farmerskim, w lidze AHL. Od lutego 2010 gra w drużynie z Montrealu w lidze NHL. W styczniu 2013 przedłużył kontrakt o dwa lata. W sierpniu 2014 przedłużył kontrakt o osiem lat. Od czerwca 2016 zawodnik Nashville Predators w toku wymiany za Shea Webera. W czerwcu 2019 przeszedł do New Jersey Devils.