Z takim obrotem sprawy nie pogodził się Swen Estrydsen (krewny Kanuta Wielkiego), który na przełomie 1042/1043 wyruszył z Anglii do Danii, mając poparcie władcy Anglii Edwarda Wyznawcy. Magnus pokonał Swena w dwóch bitwach: pierwsza miała miejsce w pod Århus pod koniec 1043, druga rok później w Skanii (?). Po porażkach Swen uciekł do Szwecji, by następnie wrócić do Danii i złożyć hołd lenny Magnusowi Dobremu, który pozwolił Swenowi rządzić Danią z ramienia króla Norwegii. Unormowanie sytuacji w Danii pozwoliło Magnusowi na podporządkowanie słowiańskiego dotychczas Szlezwiku (1043).
thumb|right|200px|Magnus daje swój topór Åsmundowi Grankjellssonowi
W 1045 roku do Norwegii powrócił Harald Surowy, najsłynniejszy z żyjących ówcześnie wikingów. Sława Haralda Surowego była tak wielka, że Magnus Dobry powierzył mu, jako swemu krewnemu, współrządy w Norwegii, tym bardziej że Harald Surowy wrócił razem ze swoją zaprawioną w wieloletnich bojach drużyną i wielkim skarbem.