Существует, впрочем, версия, основанная на других летописях, согласно которой Ярослав не являлся сыном Рогнеды. По этой версии, Рогнеда родила Владимиру одного лишь Изяслава, после чего тот отправил ее с сыном обратно в родительский дом. С тех пор потомки Рогнеды княжили в Полоцке, и в память о возникшей обиде между ее сыновьями и другими сыновьями Владимира существовала родовая вражда. Более того, одна из летописей описывает подробности покушения на Владимира, затеянного Рогнедой из ревности. Якобы она уже занесла руку с ножом над спящим мужем, но тот проснулся и успел перехватить удар. За покушение на мужа в то время полагалась смерть, и Владимир велел супруге одеться в брачное платье и ждать его в покоях – он сам явится к ней и умертвит ее. Рогнеда же подговорила малолетнего Изяслава защитить ее, и когда Владимир вошел к ней, ему навстречу, держа в руках меч, вышел Изяслав со словами: «Отец, ты здесь не один». Князь отказался от своего намерения и передал Рогнеду боярам на их суд. Те, посовещавшись, посоветовали князю помиловать жену, потому что она должна была воспитывать ребенка, проявившего уже в малые годы такую смелость. После этого Владимир и отослал Рогнеду с сыном к ее отцу. Потомки Рогнеды и Изяслава, мягко говоря, недолюбливали наследников Владимира и их детей. Эта вражда стала одной из причин продолжительных междоусобиц, охвативших Русь после смерти Ярослава.
Следуя обычаю своего времени Владимир разделил свое государство между сыновьями. Сначала Вышеславу достался Новгород, Изяславу – Полоцк, Ярославу – Ростов. Но вскоре Вышеслав умер, и Новгород был передан Ярославу, а в Ростов отправился подросший Борис. Кроме того, Глеб получил Муром, Святослав – землю древлян, Мстислав – Тмутаракань, Святополк (племянник Ярослава) – Туров, а Изяславу достался Полоцк. Не оставив детям указаний относительно своего наследника и не приучив их к самостоятельному управлению своими уделами, Владимир невольно спровоцировал длительные выяснения отношений между своими сыновьями.
Будучи правителем Новгорода, Ярослав должен был платить отцу две тысячи гривен дани ежегодно; еще тысяча гривен должна была выплачиваться войску великого князя. Ярослав, которому в ту пору было уже за тридцать, рискнул объявить о своем неподчинении и отказался платить дань. Узнав об этом, Владимир пришел в страшное раздражение и начал собирать войско в поход на Новгород, чтобы проучить дерзкого сына. Ярослав же не собирался отступать и пригласил наемников – варягов. Как пишет Карамзин, «небо… спасло Ярослава от злодеяния редкого» – войны с родным отцом. Битва не состоялась, потому что князь Владимир тяжело заболел и вскоре умер. Его болезнь и смерть совпали по времени с вторжением печенегов, борьбу с которыми Владимир успел поручить своему сыну Борису. Тот отправился в поход против печенегов, еще не зная о кончине отца. За время его отсутствия власть в Киеве захватил Святополк, который был лишь усыновленным ребенком Владимира.
Вернувшись с победой из похода, Борис с войском остановился у стен Киева и только здесь узнал о смерти Владимира. Военачальники советовали ему захватить власть, которая, как они считали, принадлежит ему по праву. Но Борис не захотел воевать со своим братом. Его соратники посчитали этот поступок малодушным и массово перешли на сторону Святополка.
Святополк же, чувствуя, что его положение непрочно, пока вблизи Киева находится другой наследник Владимира, к тому же имеющий куда больше прав на престол, потребовал от верных ему бояр убить Бориса. Когда убийцы подстерегли Бориса, он молился, и поэтому они не решились напасть на него. Тот же, узнав об окруживших его убийцах, принялся громко упоминать в молитве своего брата Святополка, пытаясь таким образом отвести от себя беду. Но, когда Борис закончил, убийцы все же ворвались в шатер и закололи его копьями. Вместе с ним, пытаясь прикрыть князя своим телом, погиб его слуга Георгий, родом из Венгрии. Борис умер не сразу. Он был еще жив, когда его завернули в ткань шатра. Святополк, узнав об этом, велел убийцам вернуться и завершить начатое. Следует отметить, что, согласно скандинавским летописям, убийство Бориса было совершено по приказу Ярослава, а не Святополка.
Но, как уже говорилось, у Владимира было много родных сыновей, и все они были потенциальными противниками Святополка в борьбе за власть. Для начала Святополк решил разобраться с Глебом. Он послал ему известие о том, что Владимир тяжело болен и желает увидеть сына. Глеб с малочисленным войском поспешил на свидание с отцом. Навстречу ему Святополк направил убийц. Недалеко Смоленска Глеба настигли посланцы Ярослава и рассказали ему о смерти отца и брата Бориса, а также о коварстве Святополка. Но и этот сын Владимиров проявил нерешительность, и вместо того чтобы свернуть с пути и избежать уготованной ему участи, остался на месте и принялся оплакивать отца. Вскоре его обнаружили люди Святополка и убили.
В летописях Борис и Глеб назывались сыновьями «болгарыни», однако, скорее всего, их матерью была греческая принцесса, жена Владимира. Возможно, это была одна и та же женщина, двоюродная сестра греческих императоров, дочь болгарского царя Петра. Поскольку Борис и Глеб были рождены христианкой, Владимир выделял их среди остальных своих детей. Он считал их более законными, так как был связан с их матерью христианским браком, в отличие от других своих некрещеных жен. К тому же они и по материнской линии были особами царской крови. Борис и Глеб еще долго считались покровителями рода князей и хранителями русской земли; победы русского войска порой приписывались вмешательству этих святых. Первыми ростками культа Бориса и Глеба можно считать 1052–1053 годы. Именно в это время началось возведение Вышгородской церкви Святых Романа и Давида. Целью ее постройки было иметь достойное место захоронения останков Бориса и Глеба, признанных мучениками. Их канонизация состоялась в 1071 году, и они стали первыми русскими святыми. В 1115 году мощи Бориса и Глеба были торжественно перезахоронены в Вышгороде, в специально возведенной церкви. Позднее во время нашествия Батыя церковь была разрушена, а мощи святых утрачены.
Святослав, удел которого находился в древлянских землях, прослышал о коварстве Святополка и решил, не дожидаясь своей очереди, бежать в Венгрию. Однако посланцы Святополка настигли его по дороге и убили.
Против братоубийцы выступил Ярослав. Правда, он мог лишиться жизни в собственной вотчине. Ведь Ярослав еще при живом отце готовился к войне против него, для чего призвал войско варягов. Приезжие вели себя дерзко по отношению к новгородцам, унижали их жен и грабили дома. Оскорбленные новгородцы собрали ополчение и перебили варягов. После этого самые знатные бояре отправились к Ярославу просить прощения за свой бунт. Но князь велел казнить их за неповиновение. И как только свершилась эта расправа, он получил известие о кончине своего отца и предательстве Святополка. Ярослав вышел из положения, попросту купив доверие новгородцев, которым он щедро заплатил за убиенных бояр, и прилюдно покаявшись в своем грехе. Затем Ярослав собрал новое войско из 40 000 русских воинов и тысячи варяжских и выступил против Святополка.
Новгородцы без особых колебаний согласились вновь защищать князя, ведь отказать Ярославу означало вновь оказаться в зависимости от Киева и принять нового Киевского наместника. Важную роль в принятии окончательного решения стал страх горожан: Ярослав мог набрать войско из одних лишь варягов, вернуться из-за моря и отомстить Новгороду, как это сделала его прабабушка, княгиня Ольга.
Ярослав и Святополк встретились у Любеча, на берегах Днепра. Войска долго стояли друг против друга, не решаясь напасть. Осенью Ярослав наконец приступил к активным действиям. Подкупив одного из воевод Святополка, князь новгородский узнал, что в одну из ночей войско Святополка устраивает пир. В эту ночь Ярослав со своими воинами, стараясь не шуметь, переправились через Днепр. Оказавшись на чужом берегу, они столкнули свои лодки в реку, показав тем самым, что намерены или победить, или умереть. Чтобы в пылу битвы различать своих, новгородские воины повязали головы платками. В ходе сражения войско Святополка, теснимое новгородцами, вынуждено было отступать по льду едва замерзшего озера. В результате лед надломился, и большая часть воинов Святополка погибла.