Согласно летописной традиции, последовавшие за смертью Владимира события развивались следующим образом. Узнав о намерении отца идти на Новгород, Ярослав призвал на помощь варягов. Одновременно на юге Руси угрожали печенеги, поэтому Владимир для охраны границы на Левобережье Днепра отправил Бориса с основной дружиной. Печенегов Борис не нашел, и простояв несколько недель на степных рубежах, уже возвращался в столицу, когда умер его отец.
Святополк, получив известие о смерти Владимира, немедленно прибыл в Киев и попытался скрыть от народа весть о кончине великого князя, готовясь самолично вступить на престол. Но киевские бояре, приверженцы Бориса, послали к последнему гонцов. Они же вывезли тело великого князя из Берестова и погребли в Десятинной церкви. По случаю похорон у этого храма, в дворцовой части города, собралось много людей, оплакивавших усопшего.
Тем не менее Святополку удалось занять великокняжеский престол. Он даже пробовал привлечь киевлян на свою сторону щедрыми дарами, однако те, по словам летописца, не отказываясь от подарков, в душе сохраняли приверженность Борису. Ощущая шаткость своей власти, Святополк послал навстречу Борису своих людей, которые коварно расправились с ним на речке Альте. При схожих обстоятельствах под Смоленском вскоре был убит и Глеб. Следующей жертвой пал сидевший в Древлянской земле Святослав. Он пытался спастись в Венгрии, но его настигли дружинники Святополка.
Самым опасным конкурентом для Святополка был Ярослав, еще не знавший о смерти отца и гибели Бориса, Глеба и Святослава. Он находился в Новгороде, куда к нему на помощь прибыл отряд от тестя. Но между своевольными варягами и новгородцами случился конфликт, приведший к тому, что обиженные бесчинствами гостей горожане начали избивать скандинавов. Разгневанный Ярослав принял против новгородцев крутые меры, однако на следующий день получил от сестры Предславы известие о событиях в Киеве и намерениях Святополка. Перед лицом опасности ему пришлось примириться с новгородцами, удовлетворив ряд их требований.
Объединив под своим командованием силы Новгородской земли и варягов, Ярослав, как некогда его отец, в сентябре 1015 г. двинулся на юг против Святополка, который, в свою очередь, призвал на помощь печенегов. Решающая битва произошла под Любечем, севернее Киева, в конце ноября того же года. Святополк был разбит и бежал в степи. «Ярослав же сел в Киеве на столе отчем».
Борьба со Святополком, за коварство и жестокость по отношению к братьям прозванным Окаянным, не закончилась этой победой. За Святополком стояли половцы и поляки, Ярослав же мог рассчитывать на помощь шведов и Северной Руси, а также на поддержку киевлян. Для пополнения сил Ярослав, утвердившись в Киеве, в 1016 г. вновь отправляется в Новгород. Этим решил воспользоваться Святополк, в 1017 г. появившийся под стенами столицы с печенегами. К счастью, Ярослав со свежими силами подоспел вовремя. Готовясь к решающему сражению, он поставил в центре варягов (во главе с Эгмундом, сыном норвежского короля Ринга), на правом фланге — киевлян, на левом — новгородцев.