Летом 1017 г. Болеслав двинулся с войском навстречу Ярославу. Помимо поляков у него было 300 наемных немцев, 500 венгров и 1000 печенегов. С поляками шла и русская дружина Святополка.
Рати встретились 20 июля 1017 г. на Волыни на реке Буг.
Русские были наголову разбиты. По свидетельству Титмара Мерзебургского: «Тогда пало там бесчисленное множество бегущих». То же говорят и русские летописцы: «И иных множество победили, а тех, которых руками схватили, расточил Болеслав по ляхам». В числе погибших называют и воеводу Блуда (Буду).
Сам Ярослав с четырьмя дружинниками убежал в Новгород. Там он решил бежать в Швецию. Но новгородцы во главе с посадником Константином сыном Добрынин «рассекли ладьи Ярослава, так говоря: “Хотим и еще биться с Болеславом и со Святополком”. Начали деньги собирать: от мужа по 4 куны, а от старост по 10 гривен, а от бояр по 18 гривен. И привели варягов, и отдали им деньги, и собрал Ярослав воев многих».
Между тем бегство Ярослава открыло союзному войску Болеслава путь на Киев. Титмар Мерзебургский пишет: «Добившись желанного успеха, [Болеслав] преследовал разбитого врага, а жители повсюду встречали его с честью и большими дарами». Войско Болеслава шло через Владимир-Волынский, Дорогобуж, Луцк и Белгород. Жители этих городов не оказывали сопротивления и признавали власть Святополка.
В начале августа 1018 г. поляки подошли к Киеву. Дружина Ярослава и наемники-варяги попытались оказать сопротивление. Но Болеслав не спешил со штурмом города, и вскоре защитники Киева сдались из-за нехватки продовольствия. Судя по всему, капитуляция была почетной.
14 августа союзники вошли в город. У собора Святой Софии (тогда еще деревянного) Болеслава и Святополка «с почестями, с мощами святых и прочим всевозможным благолепием» встретил киевский митрополит.
Польский князь понимал, что удерживать Киев дольше будет невозможно. Он попытался даже вступить в переговоры с Ярославом, находившимся в Новгороде, и послал туда киевского митрополита. Поводом для серьезных переговоров стал вопрос об обмене дочери Болеслава и жены Святополка на жену Ярослава. Однако Ярослав не желал мириться в такой ситуации с Болеславом, кроме того, у него были весьма веские причины желать, чтобы жена его сгинула в польском плену.
Что же касается Святополка, то он не хотел ни мира с Ярославом, ни присоединения Киевской земли к Польше. В «Повести временных лет» говорится: «Болеслав же пребывал в Киеве, сидя [на престоле]; безумный же Святополк стал говорить: “Сколько есть ляхов по городам, избивайте их”». Киевлян и жителей других городов, оккупированных ляхами, долго уговаривать не пришлось. Почти синхронно началось изгнание поляков. Однако непонятным образом Болеславу удалось уйти из Киева с большей частью людей, а также с награбленными драгоценностями. Знатные русские пленники – бояре Ярослава, жены и сестры – были отправлены в Польшу, видимо, еще раньше. Болеславу удалось сохранить за собой и Червенские города, приобретенные еще князем Владимиром Святым.
После ухода поляков Святополк стал киевским князем и тоже начал чеканить собственную серебряную монету. А тем временем мудрый Ярослав счел себя холостым и послал сватов к шведскому королю Олафу I Шетконугу. Летом 1019 г. в Новгороде состоялось бракосочетание дочери Олафа Ингигерд, принявшей христианское имя Ирина, с мудрым Ярославом.
Тут русские и советские историки обычно ставят точку. А между тем Ингигерд еще раньше была обещана конунгу Олаву Харальдссону, которого она безумно любила. В сборнике саг «Гнилая кожа» говорилось, что конунг Ярицлейф позвал Ингигерд в свои хоромы на пир и сказал: «Видала ли ты где-нибудь такую прекрасную палату и так хорошо убранную, где, во-первых, собралась бы такая дружина, а во-вторых, чтобы было в палате той такое богатое убранство?» Княгиня отвечала: «Господин, в этой палате хорошо, и редко где найдется такая же или большая красота, и сколько богатства в одном доме, и столько хороших вождей и храбрых мужей, но все-таки лучше та палата, где сидит Олав конунг, сын Харальда, хотя она стоит на одних столбах». Конунг рассердился на нее и сказал: «Обидны такие слова, и ты показываешь опять любовь свою к Олаву конунгу», – и ударил ее по щеке. Она сказала: «И все-таки между вами больше разницы, чем я могу, как подобает, сказать словами»