В сожжённый Суздаль вошли полки Мстислава, князь был страшно зол на крестного за совершённое злодейство и горел желанием отомстить родственнику. И здесь Мстислав оказался в затруднительном положении. Дело в том, что для новгородцев поход формально был завершен, поскольку свое обещание очистить владения Мономаха и его сыновей в Северо-Восточной Руси они выполнили. Олег отступил в Муром, поэтому причин для дальнейшего участия в войне новгородские воеводы не видели. Оценив ситуацию, Мстислав вновь отправил посольство к двоюродному дяде: «Я моложе тебя, обращайся к отцу моему, а дружину, которую захватил, возврати; я же тебе во всем послушен» (4, 240). Молодой человек хотел заключить мир с родичем до того, как придется уводить полки обратно в Новгород.
Главной бедой Олега было то, что он не знал о договоренностях племянника с новгородцами. Если бы князь владел всей полнотой информации, то он действовал бы иначе – затянул переговорный процесс и ждал, когда вражеская рать уйдет в Новгород. После чего вновь занял утерянные территории. Олег из всех возможных вариантов выбрал самый худший. Он внимательно выслушал посланцев крестника, согласился на мир и демонстративно приказал распустить полки. Но в действительности князь и не думал мириться. От своих людей Олег знал, что в сожжённом Суздале не осталось необходимых припасов, что Мстислав был вынужден распустить войско по окрестным селам на прокорм. При сыне Мономаха была лишь небольшая личная дружина. Олег решил не упускать столь выгодный момент и, как только посланцы крестника покинули его стан, велел вновь готовить рать к походу.
В конце февраля главные силы Олега подошли к реке Клязьме, а передовые отряды появились в окрестностях Суздаля, где были замечены дозорами Мстислава. Олег был уверен, что застигнутый врасплох крестник отступит в Новгород, но вновь просчитался. В этой войне всё шло не так, как князь планировал, он постоянно ошибался в оценке возможностей противника, что-то не додумывал до конца, в чем-то переоценивал свои возможности. Соответствующими были и итоги.
Мстислав вместе с боярами трапезничал в наскоро срубленной ратниками избе. В сенях послышался шум, дверь распахнулась, появившейся на пороге дружинник доложил, что полки Олега перешли Клязьму. Князь в гневе грохнул пудовым кулаком по дубовой столешнице, миски и кубки высоко подпрыгнули, расплескав меды по скатерти. Бояре притихли, Мстислав продолжил расспрашивать вестника. Ситуация складывалась критическая, была опасность, что до прихода врага не удастся собрать полки в один кулак. Но и сидеть сложа руки Мстислав не собирался. Гонцы рассыпались по окрестностям, неся воеводам и тысяцким грозное повеление сына Мономаха спешно прибыть в Суздаль. Со всех сторон к городу потянулись войска. Мстислав понимал, что Олег поспешил и слишком рано объявил о своем присутствии в регионе, если бы крестный был более предусмотрителен, то сумел бы взять крестника голыми руками. Теперь появился шанс отразить вражеское нападение. Больше всего князь переживал за полки, ушедшие прикрывать дорогу на Муром. Однако обошлось, ратники успели вернуться, воинство Мстислава вновь собрались под одним стягом. Князь приказал воеводам закрепляться на валах Суздаля. Деревянные укрепления были сожжены, но рукотворные горы представляли серьёзное препятствие для атакующего противника.
Олег понял свою ошибку и поспешил к городу. Приблизившись к Суздалю, князь увидел, какую крепкую позицию занимают войска Мстислава и не рискнул отдать приказ об атаке. Это была очередная оплошность Олега Святославича, имевшая роковые последствия. Мстислав получил известие, что отец послал ему помощь и брат Вячеслав ведёт к Суздалю половецкую конницу, нанятую Мономахом: «Послал тебе отец брата Вячеслава с половцами» (4, 240). Поэтому новгородский князь в битву не вступал и тянул время. Четыре дня две рати стояли друг против друга, не предпринимая активных действий. Когда войско Вячеслава тайно подошло к Суздалю, противник проявил редкую беспечность и не заметил перемещения больших масс конницы. Младший брат не просто привел подкрепление, он привез отцовский стяг. Посовещавшись, Мстислав и Вячеслав решили атаковать противника. Однако Олег их опередил и нанес удар первым. До самого последнего момента князь так и не узнал о приходе Вячеслава. А когда узнал, было поздно.
Была пятница второй недели Великого поста. Ещё до рассвета Мстислав с братом выстроили полки, новгородский князь не хотел больше прятаться за валами и вывел ратников на пожарище посада. В центре боевых порядков встал сам Мстислав с новгородцами, на левом крыле расположился Вячеслав с дружиной, отрядом половецких наездников и ростовским полком. На правом фланге занял позиции половецкий хан Кунуй, в его распоряжении были главные силы степной конницы и пешие ратники, собранные в окрестностях Суздаля. Куную Мстислав дал стяг своего отца. Увидев знамя Мономаха, который не мог присутствовать на поле битвы, Олег и Ярослав должны были не на шутку встревожиться. А неуверенность противника в себе есть залог победы.
Выстроил полки и Олег, князь встал напротив Мстислава, против Вячеслава выдвинулся Ярослав Святославич. Две рати устремились навстречу друг другу. Полки Мстислава перешли через пепелище посада и продолжили движение по заснеженному полю. Лошади проваливались в глубокие сугробы, поэтому многие новгородцы решили сражаться в пешем строю и спрыгнули с коней. Уминая ногами снег, новгородские ратники шли вперед, Кунай приказал развернуть стяг Мономаха, и огромное полотнище, громко хлопнув на ветру, взвилось над полками Мстислава. Олег и Ярослав были поражены, увидев развевающееся на холодном февральском ветру знамя злейшего врага. Наступление муромских и рязанских полков замедлилось, бояре и воеводы пребывали в некоторой растерянности. Олег пришпорил коня, выехал далеко вперед, взмахнул мечом и повел рать на врага.
Войска сошлись в рукопашной схватке на окраине Суздаля. Крепко билась новгородская пехота, отчаянно рубились гридни Олега, с гиканьем налетали на вражеские ряды половецкие наездники. Поднимая тучи снежной пыли, шла через поле дружина новгородского князя. Мстислав направил коня в гущу Олеговых гридней, боевым топором князь рассекал вражеские шлемы, сокрушал щиты, разрубал кольчуги и панцири. Мстислав гневался на двоюродного дядю за обман, за нарушенное слово, за внезапное нападение. Прикрывая князя с боков, отчаянно бились телохранители. Немало воинов пало с обеих сторон, белый снег был залит алой кровью.
Вскоре в битве наметился перелом. Дружным натиском новгородцы разбили центр боевых порядков полков Святославичей и развалили их войско надвое. Всадники Куная и гридни Мстислава оттеснили дружину Олега. Степняки стали охватывать левое крыло вражеских полков, безнаказанно расстреливая из луков муромских ратников. Увидев стяг Мономаха в тылу своих боевых порядков, Олег развернул коня и покинул поле боя, бегство князя спровоцировало панику среди его воинов. Новгородцы пошли на полк Ярослава и разгромили его, муромские и рязанские ратники стали разбегаться по окрестностям. Мстислав распорядился беглецов не убивать – у простых воинов отбирали оружие и отпускали на все четыре стороны, в плен брали только знатных людей. Победа была полной, в этой битве дети Мономаха отстояли право своего рода владеть Ростово-Суздальской землей.
Битву между Мстиславом и Олегом в окрестностях Суздаля вошла в историю как битва на Кулачце, поэтому непонятно стремление некоторых исследователей называть её битвой на реке Колокше. Речки Колокши в Суздале нет, она протекает совсем в другом месте и не имеет к древнему городу абсолютно никакого отношения. В Суздале протекает река Каменка. Недаром Н.М. Карамзин высказал предположение, что Кулачца – это Каменка. Но ведь откуда-то Колокша появилась при описании сражения!
Битва произошла на территории сожженного суздальского посада, и данный факт сомнений не вызывает. Четыре дня рать Мстислава укрывалась за земляными валами Суздальского кремля, после чего перешла в наступление и прошла через сожжённый посад. Об этом свидетельствуют летописные описания сражения. В Повести временных лет по Лаврентьевскому списку, ситуация выглядит следующим образом: «Мстислав же перешед пожар с Новгородци» (7, 231). Аналогичная информация присутствует в Ипатьевской летописи и ряде других летописных сводах. Например, в Воскресенской летописи конкретно прописано, что «Мстислав же переиде Пожар» (10, 11). Иного толкования у данной фразы быть не может. В.Н. Татищев так передает ход событий: «Мстислав же перешел пожарище, где слободы были пожжены, а новгородцы и конница, спешась, приступили к реке Сулаге» (82, 203). Вопросы вызывает река Сулага, такой речки в Суздале нет, откуда её взял Василий Никитич, непонятно. У Н.М. Карамзина: «Мстислав же, перешед пожар (выжженные Олегом места)» (51, 258).
Чтобы понять, где произошла битва, обратимся к летописям. Они сообщают следующее: «И сступишася на Кулачьце, и бысть брань крепка» (7, 231). Ипатьевская летопись: «И ступишася на Колачьце, и бысть брань крепка» (8, 167). Нет даже намека на речку Колокшу. На всякий случай проверим ещё: «В то же лето, зиме, победи Мьстислав с новгородци Олга на Кулатьске» (3, 202). Пискаревский летописец: «И поидоша на Ольга и Ярослава, и сступишася на Кулачце, и бысть бой силен» (21, 71). Ермолинская летопись: «И бысть бой у Суздаля на Колчяце» (16, 26). Похожих цитат можно набрать много, везде четко прописано, где именно были разбиты братья Святославичи. Понятно, что не на реке Колокше. Хотя есть исключение, в Вологодско-Пермской летописи фраза звучит следующим образом: «Тое зимы бои бысть князю Мстиславу Володимеровичю и брату его Вячеславу, и Ноугородцом на Колагше» (19, 45). Не исключено, что именно информация Вологодско-Пермской летописи ввела многих исследователей в искушение. В рассказе Н.П. Барсова о Суздале отмечается, что «