Ларссон, который стартовал в Hudiksvalls IF, провел свою первую гонку Кубка мира в Энгельберге в декабре 1999 года и финишировал 74-м в спринте. В декабре 2001 года он набрал свои первые очки на Кубке мира в Гармиш-Партенкирхене, заняв третье место, и в Зальцбурге, заняв пятое место в спринте. В 2002 году он стал чемпионом Швеции в спринте. В начале сезона 2002/03 он одержал свою первую победу на Кубке мира в спринте в Дюссельдорфе . На чемпионате мира по лыжным видам спорта в 2003 году в Валь-ди-Фьемме он занял 17-е место в спринте. На последнем в сезоне чемпионате мира по спринту в Борленге он вернулся на подиум, заняв второе место в спринте, и занял седьмое место в кубке мира по спринту. В начале следующего сезона, как и в прошлом году, он выиграл спринт в Дюссельдорфе. Он также выиграл командный спринт вместе с Тобиасом Фредрикссоном . В дальнейшем ходе сезона он занял второе место в спринте в Нове и в командном спринте вместе с Тобиас Фредрикссон в Toblach . В чемпионате мира по спринту он был пятым по итогам сезона. В сезоне 2004/05 он смог набрать очки во всех трех соревнованиях Кубка мира по спринту и снова выиграть в Дюссельдорфе в индивидуальном спринте. Также в начале сезона 2005/06 он выиграл спринт в Дюссельдорфе и выиграл эту гонку в четвертый раз подряд. В дальнейшем в сезоне он пришел в Sprint Nové Město и в Borlänge на второе место и занял 12-е место в общем зачете Кубка мира и четвертое место в Кубке мира в спринте. На зимних Олимпийских играх 2006 года в Турине он занял 13-е место в спринтерских соревнованиях. В открытии сезона следующего сезона он вместе с Бьёрном Линдом выиграл командный спринт в Дюссельдорфе. В индивидуальном спринте он набрал очки во всех пяти соревнованиях Кубка мира по спринту, но не попал в первую десятку ни в одной из этих гонок. Он закончил Тур де Ски 2006/07 на 62-м месте. Также в начале сезона 2007/08 он выиграл командный спринт вместе с Тобиасом Фредрикссоном в Дюссельдорфе. Позже в этом сезоне он выиграл два спринта на Кубке Дальнего Востока . В индивидуальном спринте он в последующие годы добился места в полузащите. Свой последний международный забег он провел в январе 2010 года в Чанчуне . Там, на Vasaloppet China, он финишировал 24-м на дистанции 50 км вольным стилем.
Ларссон принял участие в 47 индивидуальных гонках Кубка мира и 15 раз попадал в десятку лучших и девять раз поднимался на подиум.