В 1028 году его отец Олаф Святой был вынужден бежать в Новгород к Ярославу Мудрому. Бежал он туда вместе с малолетним Магнусом, оставив в Швеции жену Астрид. В Новгороде жена Ярослава — Ингегерда настояла, чтобы Магнус остался у Ярослава после возвращения Олафа Святого в Норвегию в 1030 году, где он в этом же году и погиб в битве за возвращение норвежского трона.
После смерти отца малолетний Магнус был усыновлён Ярославом Мудрым и воспитывался в его семье.
Проживал в основном в Новгороде.
После смерти Кнуда Великого норвежская знать, недовольная правлением сына Кнуда Свена, при поддержке Ярослава провозгласила Магнуса королём. После смерти Хардекнуда он, согласно договорённости, унаследовал и датскую корону. Это право оспаривалось Свеном Эстридсеном, племянником Кнуда Великого (сыном его сестры Эстрид и ярла Ульфа). В 1042 году Магнус вынужден был дать Свену титул ярла Дании, и назначить своим наместником. В Норвегии на его корону также был претендент — Харальд Хардрада, единоутробный брат Олафа II Святого, отца Магнуса, вернувшийся в 1045 году из Византии, где он служил в варяжской гвардии. В результате борьбы он с 1046 году стал соправителем Магнуса.
В 1043 году Свен Эстридсен принял титул конунга Дании и отложился от Магнуса. Норвежская армия Магнуса захватила Данию, Свен бежал. В том же 1043 году Магнус захватил легендарный Йомсборг, а осенью в союзе со своим шурином герцогом Саксонии Ордульфом наголову разгромил войско вендов-язычников в сражении на Люрсков Хеде[4]. На протяжении 1043—1046 годов Магнус трижды побеждал Свена Эстридсена в морских битвах: у островов Рэ (1043) и Арос (1043), а также у мыса Хельганес (1045). Свену пришлось укрыться в Швеции. В 1047 году Магнус умер (возможно от падения с коня). Утверждается, что он сам перед смертью провозгласил своими наследниками в Дании — Свена, а в Норвегии — Харальда. Тело Магнуса было перевезено в Норвегию и захоронено в соборе Тронхейма.
О происхождении прозвища существует две версии. Согласно Снорри Стурлусону, сначала Магнус
был жестоким и грозным королём, который мстил за изгнание своего отца, в особенности норвежской аристократии, но затем скальд Сигват так сильно подействовал на Магнуса своей речью, что из тирана он превратился в мягкого и доброго государя. По другой версии, своё прозвище он получил после блистательной победы над вендами, вторгнувшимися в 1043 на Ютландию.
Независимая Норвегия (872—1387) Иностранные правители и правители некоролевской крови выделены курсивом; монархи, чьё правление является спорным, даны в скобках.