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