Larsson oli vuonna 1970 Barcelonan EM-kilpailujen menestyksekkäin uimari. Hän voitti kultaa 400 metrin vapaauinnissa sekä 200:n ja 400 metrin sekauinnissa. Münchenin 1972 olympialaisissa hän voitti kultaa 200 metrin sekauinnissa maailmanennätysajalla 2.07,17 ja 400 metrin sekauinnissa ajalla 4.31,981. Jälkimmäisessä lajissa Yhdysvaltain Tim McKee hävisi Larssonille vain 0,002 sekuntia ja sai hopeaa. Münchenin kisojen jälkeen uinnin sääntöjä muutettiin siten, että ajat otetaan vain sadasosasekunnin tarkkuudella. Belgradin MM-kilpailuissa 1973 Larsson voitti kultaa 200 metrin sekauinnissa.