Larsson nahm von 1999 bis 2011 an Wettbewerben der Fédération Internationale de Ski teil. Sein erstes Weltcuprennen lief er im Februar 2000 in Falun, welches er mit dem 83. Platz über 15 km Freistil beendete. Seine ersten Weltcuppunkte holte im Dezember 2003 in Davos mit dem 20. Rang über 15 km klassisch. Einen Tag später errang er mit der Staffel den dritten Platz. Dies war sein erster und einziger Podestplatz im Weltcup. Ab 2004 trat er auch bei Rennen des Skilanglauf-Marathon-Cups an. Dort belegte er 2005 den zweiten Platz beim Wasalauf. Ebenfalls den zweiten Platz holte er 2006 beim König-Ludwig-Lauf. Seine beste Platzierung in der Gesamtwertung des Marathonscups war 2011 der zehnte Platz. Im Januar 2007 erreichte er in Otepää mit dem siebten Platz über 15 km klassisch seine beste Platzierung in einem Weltcupeinzelrennen. Bei den folgenden nordischen Skiweltmeisterschaften in Sapporo kam er auf den 75. Platz über 15 km Freistil, den 17. Rang im 50 km Massenstartrennen und gewann Bronze mit der Staffel.