В 1009—1013 годах сражался в Англии (сначала на стороне датчан, а потом на стороне англосаксов).
В 1013 году в Нормандии был обращён в христианство, крещён в Руане и поступил на службу к английскому королю в изгнании Этельреду. Он помог Этельреду вернуться в Англию и сражался на его стороне против датчан.
В 1015 году Олаф вместе с епископом Зигфридом выехал в Норвегию, где бонды и провинциальные правители провозгласили его королём.
Гибель Олафа при Стикластадире. Худ. Петер Н. Арбо, 1859 г.
В 1017 году в Швецию был отправлен послом Бьёрн Окольничий с предложениями о мире, причём одним из способов урегулирования конфликта была женитьба Олафа II на дочери Олафа ШётконунгаИнгигерде, и решение об этом браке было принято на тинге в Уппсале.
Для шведов этот брак был выгоден как способ установить мир на границе, и они убедили Олафа Шётконунга дать клятву, что он выдаст Ингигерду за Олафа II. Причём известно, что его дочь хотела этого брака. Свадьба должна была состояться осенью на границе двух государств на берегу реки Эльв. В соответствии с достигнутыми соглашениями осенью 1018 года Олаф II прибыл на границу для свидания с невестой и её отцом, но их там не оказалось. Отправленные в Швецию гонцы привезли неутешительное известие: ещё летом к Олафу Шётконунгу прибыли сваты от новгородского «конунга Ярицлейва»[a] и шведский король выдал Ингигерду за него замуж. Олаф же женился на её сводной сестре Астрид.
Согласно «Пряди об Эймунде», во время пребывания Олафа в Новгороде Ингигерда «имела с ним тайную любовную связь».
Проводимые Олафом более решительно и последовательно, чем его предшественниками, борьба с язычеством, сокращение традиционных «свобод» с целью усиления королевской власти, изменения в системе кормлений и сбора податей и прочее привели к разрыву между ним и большой частью старой знати, а также присоединившимися к знати бондами. Противники Олафа внутри страны встали на сторону претендовавшего на власть в Норвегии короля Англии и Дании Кнута Великого.
В 1027 году в союзе со Швецией Олаф напал на Данию, но потерпел поражение и в 1028 году был вынужден бежать в Швецию и затем на Русь, в Новгород к Ингигерде. Бежал он туда вместе с малолетним сыном Магнусом, оставив в Швеции жену Астрид. В Новгороде Ингигерда настояла, чтобы Магнус остался у Ярослава. В это время норвежский престол занял Кнуд I, поставивший «наместником» своего сына от наложницы АльвивыСвейна.
В 1030 году по зову своих сторонников вернулся в Норвегию, и попытался с шведской помощью вернуть себе престол, но в июле того же года (29-го либо 31-го числа) был убит в битве при Стикластадире, сражаясь с войском норвежской родовой знати и бондов.
Однако С. С. Алексашин, опираясь на данные саг о «тайной любви» между Ингегердой и Олафом и пытаясь объяснить данные генетических исследований современных Рюриковичей, показавших расхождение гаплогрупп у потомков Мономаха («северная» гаплогруппаN1c1) и Олега Святославича («славянская» — R1a), выдвинул гипотезу о внебрачных детях Олафа. Он предположил, что фактическим сыном Олафа от Ингегерды был русский князь Всеволод Ярославич[1], отец Владимира Мономаха[2].
Прославление Олафа в лике святых состоялось в Норвегии 3 августа 1031 году (память 29 июля) — в этот день епископ Гримкель с согласия конунга Свейна и «по решению всего народа» «объявил, что Олав конунг — святой» и перенёс его останки в церковь Св. Клемента, основанную ещё Олафом в Нидаросе (Тронхейме). В 1164 году папой Александром III был причислен к лику святых и стал почитаться как покровитель Норвегии.
Тропа святого Олафа — туристический и паломнический маршрут, связывающий шведский город Селонгер и Нидаросский собор в Тронхейме в Норвегии, в 2010 году получил статус культурного маршрута совета Европы[3].
Святой Олаф является последним по времени западным святым (до Великой схизмы 1054 года), почитаемым также и на христианском Востоке (Святой благоверный Олаф II Харальдссон, король Норвегии, креститель и просветитель норвежцев).
В Дании во имя святого Олафа освящён храм в Хельсингёре.
Одна из старейших церквей Фарерских островов, находящаяся в посёлке Чирчубёвур, носит имя святого Олава. Ему также посвящён национальный праздник архипелага — Оулавсёка.
В Готенгофе, торговом поселении готландских купцов вблизи Новгорода, не позднее 1100 года была построена церковь Святого Олафа. Такая же церковь была построена в Старой Ладоге — одном из первых варяжских поселений на славянских землях[4], где он проездом гостил у посадникаРёгнвальда Ульвсона, родственника своей бывшей невесты Ингигерды, так как между Олафом и Ингигердой была «самая большая дружба» или, как сказано, в «Пряди об Эймунде» — Ингигерда «имела с ним тайную любовную связь».
Независимая Норвегия (872—1387) Иностранные правители и правители некоролевской крови выделены курсивом; монархи, чьё правление является спорным, даны в скобках.