В конце февраля рать Олега скрытно подошла к Клязьме. Весть об этом застала Мстислава врасплох, поскольку доверившись крестному, он даже не выставил дозоры на южном направлении. И здесь Олег допустил ошибку, имевшую необратимые последствия. Вместо того, чтобы воспользоваться неготовностью Мстислава к войне и сразу идти на Суздаль, он решил, что крестник обратится в бегство, как только узнает о появлении муромских полков. И демонстративно остановился на Клязьме. Драгоценное время было упущено, новгородский князь успел подготовиться к битве. До того, как Олег подошел к Суздалю, Мстислав стянул к городу новгородские, ростовские и белозерские полки. Когда Олег осознал свою оплошность и подступил к Суздалю, его встретила готовая к бою рать Мстислава. Противники четыре дня стояли друг против друга, когда новгородский князь получил весть, что ему на помощь идет брат Вячеслав. Как пишет летописец, пришел Вячеслав в четверг после Федорова воскресенья, в пост (31, 240). Князь привел половецкую конницу и привез Мстиславу отцовский стяг.
Владимир Мономах справедливо считается защитником Руси от половецких набегов и борцом со степной угрозой. Но именно Владимир Всеволодович был первым князем, который привел на Русь половцев. Вместе с союзниками-степняками Мономах сжег Минск и впоследствии хвастался в «Поучении», что «
На следующий день Олег повел рать на Суздаль. Город был расположен в излучине реки Каменка, с трёх сторон подступы к нему прикрывались рекой, с четвёртой, напольной, был выкопан глубокий ров. Теперь река замерзла, городские укрепления сгорели, поэтому Мстислав не стал отсиживаться в городе и выстроил полки на сожжённом посаде. Половецкому военачальнику Куную новгородский князь вручил стяг Мономаха, дал под начало отряд пехоты и поставил на правом фланге. Против Олега встали новгородцы и ростовцы под командованием Мстислава, против Ярослава занял позиции Вячеслав с половецкой конницей и белозерским полком. Мстислав перевел рать через пепелище сожженного суздальского посада, когда новгородцы решили слезть с коней и драться в пешем строю. Трудно сказать, почему они это сделали, можно предположить, что за городом лежали большие снега, что и смутило новгородских всадников. Этот эпизод новгородцы вспоминали и сто лет спустя. Перед битвой на Липице 21 апреля 1216 г. они заявили князю Мстиславу Удатному: «
Олег укрылся в Муроме, но долго в нем не остался и укрылся в Рязани. Узнав о приближении полков Мстислава, князь бежал в степь. Но Мстислав не хотел крови крестного и вновь обратился к нему с мирными инициативами: «
Прямым следствием битвы на Кулачце стало прекращение войны на территории Северо-Восточной Руси и созыв княжеского съезда в Любече, где была предпринята попытка прекратить междоусобицы.
15. Битва на реке Вагре (весна 1099)