Ярослав занял отцовскую столицу и объявил себя великим князем. Но война на этом не закончилась.
Весной следующего 1017 года Святополк вернулся, приведя с запада войско своего тестя Болеслава Польского. Титмар Мерзебургский пишет, что к полякам и русской дружине присоединились тысяча печенегов, пятьсот венгров и триста саксонцев.
В новой битве, произошедшей на берегу Буга, польский князь наголову разгромил Ярослава, который потерял всю свою армию и бежал на север всего «с четырми человекы».
Болеслав почти без сопротивления занял Киев, однако вовсе не собирался передавать власть зятю, а уселся на престоле сам и расставил по городам свои гарнизоны.
Победителю, помимо награбленного, досталась вся государственная казна. Передал ее полякам тот самый Анастас-корсунянин, который тридцать лет назад выдал Владимиру тайну Херсонесского водопровода и за это был приближен ко двору. Теперь хитрый грек снова вовремя переметнулся на сторону победителя и ловко втерся ему в доверие — «ся ему вьверил лестью».
Такое положение дел не могло устроить ни киевлян, оказавшихся во власти чужеземных захватчиков, ни, конечно, обманутого Святополка. Пользуясь тем, что Болеслав рассредоточил свои силы, князь призвал русских к мятежу, на что те охотно откликнулись. Немногочисленные польские гарнизоны были перебиты, а Болеслав ушел в свои края. Киев ему, собственно, был не нужен — хватило щедрой добычи, а вот западнорусские земли, Червеную Русь, Болеслав оставил за собой. Кроме того, в качестве трофеев он увел множество пленных, в том числе жену Ярослава, которую тот не успел вывезти из Киева. (Впрочем, как мы увидим, многоумный князь сумел извлечь выгоду и из этого досадного события).
К 1019 году расстановка сил словно вернулась на три года назад: Святополк находился в Киеве, Ярослав — в Новгороде. Нужно было всё начинать сначала.
Во время постыдного бегства с берегов Буга наголову разбитый Ярослав думал только о спасении собственной жизни. Добравшись до Новгорода, он собирался сесть на корабль и уплыть за море. Но здесь новгородцы еще раз продемонстрировали, до какой степени сильна их неприязнь к «киевским». Князя задержали насильно. Посадник Константин (летопись называет его «Коснятин»), сын того самого Добрыни, который был главным советником молодого Владимира, приказал изрубить ладьи, чтобы Ярослав не бросил город на милость Святополка. Константин Добрынич не только являлся, выражаясь по-современному, главой городской администрации, но еще и приходился Ярославу двоюродным дядей, что позволяло ему обращаться с князем как с младшим родственником. (Примечательно, что этого унижения Ярослав не забыл и не простил. Вскоре после победы он отправил Константина в ссылку, а затем велел умертвить).
Новгород не только собрал новое войско, но еще и добровольно обложил себя огромной данью (с простых людей по четыре куны, с бояр — по две тысячи), что позволило вновь нанять дружину Эймунда.
Нет никаких сомнений, что Ярослав нашел бы способ убежать, даже если бы новгородцы перепортили все свои корабли, однако, видя столь мощную поддержку, князь решил остаться. К этому времени стало ясно, что Болеслав не намерен идти походом на север, а вскоре до Новгорода должны были дойти слухи о недовольстве киевлян и раздорах между Святополком и его тестем.
Ярослав подождал, пока брат лишится своего грозного союзника, а тем временем сам приобрел сильного сторонника: женился на дочери шведского короля Олафа, который прислал еще войска. Вот почему князя наверняка совсем не расстроило то, что его первую супругу забрал с собой Болеслав Храбрый. С этого момента упоминаний о ней больше нет. То ли она умерла, то ли была помещена в монастырь.
Новое наступление на Киев произошло весной 1019 года. Святополк кинулся за помощью к орде — больше уповать было не на кого.
Новгородцы и варяги Ярослава сошлись с киевлянами и печенегами Святополка у реки Альты — на том самом месте, где четыре года назад пронзили копьями Бориса. Северяне победили. Раненый Святополк бежал прочь, теперь уже навсегда. Его дальнейшая судьба неизвестна, след теряется где-то «в пустыне меж чехи и ляхи», за западными рубежами Руси. «Окаянный» то ли умер от полученной раны, то ли просто сгинул в ничтожестве, брошенный всеми своими союзниками. Летописец мстительно фантазирует: «Есть же могила его в пустыни той и до сих дний. Исходит же от ней смрад зол».