Andreasson, der für den IFK Mora SK und den Laisvalls SK startete, debütierte im Februar 2000 in Falun im Skilanglauf-Weltcup, das er auf dem 11. Platz mit der Staffel beendete. Sein erstes Rennen im Continental-Cup lief er im Dezember 2000 in Orsa und belegte dabei den 62. Platz im Sprint. Im März 2001 absolvierte er in Borlänge sein erstes von insgesamt 19 Weltcupeinzelrennen. Dabei errang er den 76. Platz über 10 km Freistil. In der Saison 2005/06 kam er im Scandinavian-Cup viermal unter die ersten Zehn und errang damit den siebten Platz in der Gesamtwertung. Im Januar 2006 wurde er Zweiter beim Marcialonga. Beim Wasalauf im März 2006, der gleichzeitig als Weltcuprennen gewertet wurde, holte er mit dem sechsten Platz seine ersten und einzigen Weltcuppunkte. Im November 2008 erreichte er in Gällivare mit dem zweiten Platz mit der Staffel seine erste und einzige Podestplatzierung im Weltcup. Seine einzigen Podestplatzierungen im Scandinavian-Cup errang er im Februar 2008 in Sundsvall mit Platz drei über 30 km Freistil und im Februar 2010 am Spåtind mit Platz zwei im 15-km-Handicaprennen. Im Jahr 2009 siegte er bei den schwedischen Meisterschaften mit der Staffel von IFK Mora SK. In der Saison 2010/11 erreichte er im Skilanglauf-Marathon-Cup mit vier Top-Zehn-Platzierungen, den neunten Platz in der Gesamtwertung. Andreasson nahm zudem von 2000 bis 2011 an FIS-Rennen teil. Dabei holte er sechs Siege.