Борис был убит, когда лег спать: нападавшие бросились к шатру и пробили его копьями в том месте, где находилась постель князя. Затем они разметали малочисленную охрану, завернули тело Бориса в шатер и повезли к Святополку. В Вышгороде убийцы обнаружили, что Борис еще дышит. По приказу Святополка верные ему варяги добили Бориса. Так Святополк убрал со своего пути самого опасного соперника, действуя решительно, быстро и жестоко.

Но оставался еще муромский князь Глеб, рожденный, как и Борис, в христианском браке Владимира от византийской принцессы и бывший теперь единственным законным наследником престола. Святополк направил к Глебу гонцов с просьбой прибыть в Киев, так как отец тяжело болен. Ничего не подозревавший Глеб с небольшой дружиной отправился в путь – сначала на Волгу, а оттуда к Смоленску и затем в ладье в Киев. Уже в пути он получил известие о смерти отца и убийстве Бориса. Глеб остановился и пристал к берегу. Здесь, на полпути к Киеву, на Днепре, и застали его люди Святополка. Они ворвались на корабль, перебили дружину, а потом по их приказу повар Глеба зарезал его ножом.

Смерть юных братьев поразила древнерусское общество. Борис и Глеб со временем стали символами непротивления злу, праведности, добра и мученичества во славу светлых идей христианства. Оба князя были в XI в. объявлены православной церковью первыми русскими святыми, намного ранее княгини Ольги и князя Владимира.

Святополк уничтожил и еще одного из братьев – Святослава, который правил в древлянской земле и, спасаясь от беспощадного Святополка, бежал в Венгрию. Убийцы настигли его в пути.

Теперь друг против друга вновь встали Киев, где окончательно утвердился Святополк, получивший в народе прозвище «Окаянного», и Новгород, где оставался Ярослав Владимирович. Теперь он вел на Киев сорокатысячную рать. Перед тем как выступить в поход на юг, Ярослав, по свидетельству летописи, рассорился с новгородцами. Варяги, появившиеся по его призыву еще до смерти Владимира, начали чинить насилия и притеснения новгородцам, и те «иссекли» часть варягов. В ответ Ярослав расправился с «нарочитыми мужами», т. е. видными новгородцами. Каково же было чувство соперничества Новгорода по отношению к Киеву, если даже после этого, получив известие о смерти Владимира и узнав о вокняжении в Киеве после убийства других братьев Святополка, новгородцы откликнулись на призыв Ярослава и собрали значительную рать?! Поистине Север вновь поднялся против Юга, как это было уже не раз в истории Руси. Святополк выступил навстречу Ярославу с киевской дружиной и нанятой печенежской конницей.

Противники встретились на Днепре ранней зимой 1016 г. близ города Любеча и встали на противоположных берегах реки.

Ярослав атаковал первым. Ранним утром на многочисленных ладьях его рать переправилась на противоположный берег. Зажатые между двумя уже замерзшими озерами, воины Святополка пришли в замешательство и вступили на тонкий лед, который стал ломаться под их тяжестью. Печенеги, ограниченные в своих маневрах рекой и озерами, никак не могли развернуть свою конницу. Разгром Святополковой рати был полным. Сам великий князь бежал в Польшу.

Ярослав в 1017 г. занял Киев. В том же году он заключил союз с германским императором Генрихом II против Польши. Однако борьба на этом не кончилась. Святополк Окаянный вернулся на Русь вместе с Болеславом I и польским войском. Решающая схватка произошла на берегу Буга. Ярослав потерпел поражение и бежал в Новгород с четырьмя дружинниками, а Святополк с поляками заняли Киев.