Между тем наш герой со вновь собранным войском шел к Киеву. Войско же Святополка было существенно меньше, к тому же часть его была разгромлена Болеславом при отходе в Польшу. Не дожидаясь прихода Ярослава, Святополк бежал к печенегам и призвал давних врагов Русской земли на помощь. Войска Ярослава и печенегов сошлись под Киевом, на том самом месте, где в свое время посланные Святополком убийцы настигли Бориса. Битва продолжалась целый день и закончилась победой войска Ярослава. После этого Святополк снова бежал, на этот раз уже окончательно. Больше он не предпринимал попыток захватить власть. В историю этот русский правитель вошел под прозвищем Святополк Окаянный.
Но междоусобная война наследников Владимира на этом не закончилась. Против Ярослава восстал внук Владимира, Брячислав, который княжил в Полоцке. Он напал на Ярославов удел в Новгороде, где ограбил и взял в плен местных жителей. Князю удалось перехватить его на обратном пути и отобрать добычу. Ярослав преследовал племянника до Псковской области, где на реке Судоме произошла битва. Освободив пленников, Ярослав заключил с Брячиславом мир. Полоцкий князь получил Витебскую волость в качестве «отцепного». По-видимому, родственники на том и примирились, поскольку Брячиславу было позволено вернуться в Полоцк.
Следующим против Ярослава выступил Мстислав, правивший в Тмутаракани. К тому времени он успел существенно расширить подконтрольную ему территорию за счет побед над хазарами и черкесами. Этого князю показалось мало, и он решил выступить на Киев. Тем временем великий князь Ярослав отправился усмирять мятеж в Суздале, и Киев был защищен лишь стенами и малочисленным войском. И хотя именно это отпугнуло Мстислава, зато ему удалось захватить Чернигов.
Бунт в Суздале был вызван прежде всего голодом. Горожане обвиняли в своих напастях колдуний, к которым было отнесено большинство старых женщин. Многие искали спасения от голода на Волге, откуда вскоре было привезено большое количество зерна. Ярослав призвал жителей Суздали верить в Бога, который защитит их от напастей. Призывы были подкреплены силой оружия и казнями зачинщиков бунта. Усмирив суздальцев, Ярослав отправился в Новгород, собирать новое войско против Мстислава.
Мстислава Владимировича, младшего брата Ярослава, не зря называли «грозой кочевников». Еще до начала междоусобиц шла изнурительная русско-косожская война. Ее эпицентром был далекий от столицы город Тмутаракань, что на Таманском полуострове. Мстислав, естественно, командовал русинами. Кочевники шли в бой под началом Редеди. Перед решающей битвой Редедя предложил русскому князю поединок два на два, без помощи воинов, коих и так полегло уже немало. Мстислав согласился, приняв долгий и яростный бой. Согласно преданиям, Редедя медленно, но верно одолевал Мстислава. Тот, почувствовав нахлынувшую усталость, начал молиться Пресвятой Богородице, прося у нее выносливости и победы. По существующей в Средние века традиции он даже дал обет — построить церковь с приделом Пресвятой Богородицы. Закончив молитву, князь ощутил прилив свежих сил, «ударил Редедю о землю» и зарезал его. После гибели предводителя кочевников победить косогов было нетрудно. Русичи вошли в их город, разграбили его, получив дорогие трофеи, а также обложили местных жителей данью. Свой обет Мстислав все-таки выполнил: по возвращении из военного похода он приказал начать строительство церкви Богородицы в Тмутаракани.
На помощь в битве с младшим братом Ярославом он снова призвал варягов. Как видим, в то время искать помощи у иноземцев не считалось чем-то зазорным для русских правителей. К этому прибегали и Святополк, и Мстислав, обращавшийся за помощью к грекам, и сам Ярослав.
В битве, которая состоялась в окрестностях Чернигова, Мстислав поставил под главный удар варягов войско, собранное им из черниговских воинов, а свою дружину оставил в резерве. И когда варяги уже начали теснить черниговцев, по ним ударила тмутараканская дружина Мстислава. Не выдержав натиска, варяги отступили.
После этой победы Мстислав, вместо того чтобы преследовать поверженного брата, неожиданно сообщил ему, что… признает его верховенство и позволяет беспрепятственно вернуться и править в Киеве. Однако Ярослав, наученный горьким опытом отношений со своими коварными родственниками, возвращаться не спешил. Он правил Киевом через посланников, а тем временем собирал в Новгороде новое войско и готовился к очередной схватке с Мстиславом. Но битвы удалось избежать. Братья встретились под Киевом и заключили союз, разделив государство на две части. Границей стал Днепр. Ярославу досталась западная часть, а Мстиславу — восточная. Этот союз просуществовал десять лет до самой смерти Мстислава — и дал возможность Руси передохнуть от междоусобных войн.
За это время Ярослав вернул русские владения на Западе, отнятые Болеславом и польским войском во время похода на помощь Святополку Окаянному. На севере русских владений, в Ливонии, Ярослав в 1030 году основал город Дерпт (современный Тарту). Но несмотря на то, что владычество Руси над прибалтийскими народами — ливонцами и чудью — было относительно мягким (их не принуждали к принятию христианства и собирали весьма умеренную дань), они все же подняли бунт и в ходе длившихся несколько лет войн получили наконец вольницу.
С именем Ярослава связывают и основание города Ярославля. Древняя легенда рассказывает о том, что на месте, где сейчас стоит город, Ярослав убил медведицу, которую жители селения Медвежий угол спустили на князя. Там он впоследствии повелел основать крепость. Эту легенду отражает и герб города: на серебряном щите изображен медведь с секирой.
Говорят также, что князь обладал довольно крутым нравом, когда речь заходила о безопасности Киевских земель. Хорошим примером послужил 1035 год: умер Мстислав Таманский, брат Ярослава, гроза степей. К Киеву потянулись орды кочевых племен, по словам византийского историка — «многочисленное племя, которое вшей пожирает». Это были печенеги, они знали Ярослава как калеку и книжника, слабого и неспособного к обороне. Но их ждал полный разгром; не помогло даже то, что печенежский князь Куря когда-то сумел поладить с самим Святославом Игоревичем, одним из наиболее воинственных князей Киевской Руси.
После кончины Мстислава Ярослав стал наконец властителем всех русских земель, поскольку у Мстислава не было наследников. Владения Ярослава простирались от Балтийского моря до Карпатских гор и Черного моря.
Но ни междоусобные войны, вспыхнувшие после смерти Владимира, ни собственный опыт не преподнесли хороший урок русскому князю. И он дожидался лишь взросления своих сыновей, чтобы снова разделить между ними Русь и снова ввергнуть ее в междоусобицу. Князь был женат на дочери шведского короля Олафа Ингигердте. Подробности этой свадьбы содержатся в произведении Снорри Стурлусона «Круг земной», написанном в первой половине XIII века. Как только старшему сыну Ярослава и Ингигердты Владимиру исполнилось шестнадцать лет, отец отправил его княжить в Новгород.
После того как Ярослав объединил Русь, серьезную опасность для нее представляли лишь внешние враги. Больше всего неприятностей доставляли печенеги, регулярно тревожившие русских жителей своими набегами. Однажды им удалось собрать огромное войско и осадить Киев. На помощь Ярославу снова пришли варяги, составившие центр его войска. На левом фланге стояли новгородские воины, а на правом — киевские. Войско Ярослава одержало победу, которую Карамзин назвал счастливейшей для отечества, поскольку сокрушены были наиболее опасные враги русских земель. Печенеги были разгромлены, большая часть войска погибла на поле битвы, многие утонули во время беспорядочного отступления. На месте сражения Ярослав велел заложить церковь, раздвинув городские стены так, чтобы новый храм вошел в городскую черту. Появившиеся таким образом ворота были названы золотыми, а возведенная в честь победы церковь — Святой Софией.
Храм Святой Софии был построен греческими зодчими, приглашенными Ярославом. Впоследствии собор неоднократно перестраивался, сооружались разнообразные достройки. Тем не менее он до сих пор является образцом византийского искусства. Это единственное здание XI века, сохранившееся в относительно хорошем состоянии. Изначально храм представлял собой продолговатое каменное строение длиной около 36 м, шириной чуть более 70 м, высотой около 30 м, сложенное из довольно больших кирпичных плит. На трех сторонах здания располагались каменные хоры, поддерживаемые столбами с арками внизу и вверху на северной и южной сторонах. В храме был алтарь с двумя приделами (небольшими алтарями в пристройках). У здания было пять куполов, через которые в храм попадал свет; центральный купол был самым большим, а купола, расположенные над алтарем и хорами, — поменьше. Снаружи церковь окружала паперть, с которой на хоры вели две лестницы.