Seinen ersten Weltcupsieg errang er 1986 in Bohinj (Slowenien). Es folgten bis 1994 vierzehn weitere Weltcupsiege, wobei seine Siege bei Weltmeisterschaften als Weltcuprennen mitgezählt werden. In der Saison 1986/87 gewann er den Langlauf-Gesamtweltcup.
Bei Olympischen Winterspielen blieb ihm in einem Einzelrennen der große Erfolg verwehrt. Sein bestes Resultat war 1992 ein fünfter Platz im 25-km-Verfolgungsrennen in Albertville. 1988 gewann er in Calgary die Goldmedaille als Schlussläufer der schwedischen Staffel. Insgesamt nahm Mogren an vier Olympischen Spielen teil. Bei seinem letzten Olympischen Rennen über 50 km in Nagano erreichte er 1998 den 34. Platz.
Sein letztes Weltcuprennen bestritt Mogren am 14. März 1998 in Oslo (Norwegen) über 50 km klassisch; er lief auf den 47. Platz.