לארסון נולד במאלמה. הוא התאמן תחת הדרכתו של לארס-אריק פולסון ותחת הדרכתו של דון גמבריל בלונג ביץ'.
באולימפיאדת מקסיקו סיטי (1968) סיים לארסון במקום 31 במשחה ל-200 מטר חופשי בתוצאה של 2:04.9 דקות, במקום 12 במשחה ל-400 מטר חופשי בתוצאה של 4:25.0 דקות, במקום 11 במשחה ל-1500 מטר חופשי בתוצאה של 17:57.0 דקות, במקום 11 במשחה שליחים 4x100 מטר חופשי בתוצאה של 3:43.9 דקות ובמקום שמיני במשחה שליחים 4x200 מטר חופשי בתוצאה של 8:12.1 דקות, בשלב המוקדמות הרביעייה השוודית קבעה תוצאה של 8:10.9 דקות.
באליפות אירופה בשחייה שנערכה בברצלונה, ספרד בשנת 1970 זכה לארסון ב-4 מדליות, מהן 3 זהב. מדליות זהב במשחה ל-400 מטר חופשי בשיא עולם חדש של 4:02.6 דקות, במשחה ל-200 מטר מעורב אישי בשיא עולם חדש נוסף של 2:09.3 דקות ובמשחה ל-400 מטר מעורב אישי בתוצאה של 4:36.2 דקות ומדליית כסף במשחה ל-200 מטר חופשי בתוצאה של 1:55.7 דקות. בנוסף, הוא סיים במקום רביעי במשחה שליחים 4x200 מטר חופשי בתוצאה של 7:57.7 דקות.
באולימפיאדת מינכן (1972) זכה לארסון בשתי מדליות זהב במשחה ל-200 מטר מעורב אישי בשיא עולם חדש של 2:07.17 דקות, לפני שלושה שחיינים מארצות הברית, טים מקי (2:08.37 דקות) סטיב פורניס (2:08.45 דקות) וגארי הול סניור (2:08.49 דקות) ובמשחה ל-400 מטר מעורב אישי בשיא אולימפי חדש של 4:31.98 דקות לפני מקי שקבע תוצאה זהה ואנדראש הרגיטאי מהונגריה (4:32.70 דקות). בנוסף, הוא סיים במקום רביעי במשחה שליחים 4x200 מטר חופשי בתוצאה של 7:47.37 דקות, במקום 13 במשחה ל-400 מטר חופשי בתוצאה של 4:09.88 דקות ובמקום 14 במשחה שליחים 4x100 מטר מעורב בתוצאה של 4:06.67 דקות, הוא שחה את סגנון החזה.
באליפות העולם בשחייה שנערכה בבלגרד, לשעבר יוגוסלביה בשנת 1973 זכה לארסון במדליית זהב במשחה ל-200 מטר מעורב אישי בתוצאה של 2:08.36 דקות, לפני סטן קרפר מארצות הברית (2:08.43 דקות) ודייוויד וילקי מבריטניה (2:08.84 דקות). בנוסף, הוא סיים במקום חמישי במשחה שליחים 4x200 מטר חופשי בתוצאה של 7:45.58 דקות.