Wychowanek klubu Malmö IF, w którym rozwijał się w kolejnych grupach wieku juniorskiego. W KHL Junior Draft w 2012 został wybrany przez Sibir Nowosybirsk. W marcu 2012 podpisał roczny kontrakt z zespołem seniorskim i w sezonie 2012/2013 jako osiemnastolatek grał w jego barwach w drugoligowych rozgrywkach Allsvenskan. W 2013 został wybrany w drafcie do kanadyjskiej ligi juniorskiej CHL przez amerykański zespół Erie Otters z numerem 4 oraz w drafcie NHL z 2013 został wybrany przez amerykański klub Washington Capitals. W sierpniu 2013 podpisał kontrakt z Otters, a ponadto we wrześniu umowę wstępującą z Capitals na występy w NHL. Wyjechał do Kanady i w sezonie 2013/2015 grał w barwach Erie w lidze juniorskiej OHL. Od 2014 był zawodnikiem kadry Washington Capitals w NHL. W połowie 2017 przedłużył tam kontrakt o dwa lata. Po pięciu sezonach gry w stolicy USA, w połowie 2019 przeszedł do Colorado Avalanche, podpisując roczną umowę. W październiku 2020 prolongował kontrakt o dwa lata.