Ольссон участвовал в соревнованиях по лыжным гонкам на юниорском уровне с 1998 года. В 2001 году дебютировал во взрослых соревнованиях. В декабре 2003 года одержал свою единственную победу на этапе Кубка Мира.
На Олимпиаде в Турине в 2006 году завоевал бронзовую медаль в эстафете 4х10 км, а в гонке на 15 км занял 6 место.
На Олимпиаде-2010 в Ванкувере в гонке на 30 км (15+15) долгое время шел первым, с максимальным отрывом от группы преследователей в 25 секунд, однако не удержал лидерство и в итоге занял третье место. В финальной гонке на 50 км Ольссон также был третьим. На финише между ним и швейцарцем Дарио Колонья начала разгораться борьба, когда Колонья на повороте перед финальной прямой попытался сровняться с Ольссоном. Но в этот самый момент Колонья падает, а Ольссон таким образом выигрывает бронзу.
Семья
Женат на шведской спортсменке—лыжнице Анне Ольссон (Дальберг).