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