В 1223 г. монгольское войско появилось в причерноморских степях, поблизости от границ Руси. Когда монголы пришли на землю половецкую, рассказывает русский летописец, «половцы не могли противиться им»: одни бежали к Дону, другие — в Крым, третьи — в Русскую землю. Половецкий хан Котян, тесть галицкого князя Мстислава, «пришел с поклоном с князьями половецкими в Галич к князю Мстиславу, к зятю своему, и ко всем князьям русским, и дары принес многие, кони, верблюды и девки, и одарил князей русских, а сказал так: „Нашу землю отняли сегодня, а вашу завтра возьмут, обороните нас, если не поможете нам, мы ныне иссечены будем, а вы завтра иссечены будете!“».
Далее летописец поучительно замечает: «Много те половцы зла сотворили Русской земле, того ради всемилостивый бог хотел погубить сыновей безбожных Измаиловых половцев, чтобы отомстить за кровь христианскую!» Но теперь было не время вспоминать о старых обидах: монголы угрожали и русским и половцам. Князья решили выступить на помощь хану Котяну. Мотивы этого решения очень откровенно выразил князь Мстислав Галицкий в своем обращении к другим русским князьям: «Если мы, братья, не поможем им, то половцы передадутся татарам, и их сила будет больше!»
И вот в Киеве собрались на совет «старейшины в Русской земле» — Мстислав Романович Киевский, Мстислав Мстиславич Галицкий, Мстислав Святославич Черниговский и Козельский и другие князья. Не приехал лишь владимиро-суздальский князь Юрий Всеволодович. На совете было решено выступить с войском в половецкие степи, чтобы встретить врага в поле, за рубежами Русской земли.
На Днепре, у Олешья, собрались в середине мая 1223 г. русские дружины. «Из Киева князь Мстислав со своею силою, а из Галича князь Мстислав со всею силою, Владимир Рюрикович с черниговцами и все князья русские, и все князья черниговские, а из Смоленска 400 воинов». К русскому войску присоединились отряды половцев. Были в войске также дружины из Курска, Трубчевска и других городов. Такой большой рати давно не собиралось на Русской земле. Казалось бы, междоусобные распри забыты, и все «единым сердцем» выступили против опасного врага. Однако на деле это было не так: отдельные феодальные дружины, даже собранные вместе, не представляли собой единого войска, подчинялись лишь собственным князьям, каждый из которых придерживался своего плана военных действий и мало считался с приказаниями «старейшего» киевского князя. Это, несмотря на значительную численность собранного войска, и предопределило в конечном итоге поражение.
Первым перешел на левый берег Днепра князь Мстислав Галицкий с тысячей отборных воинов, неожиданно напал на выдвинутые вперед «сторожи татарские» и обратил их в бегство. Татары пытались спасти от русских воинов «воеводу своего Семеябека», спрятали его в яму и замаскировали ветками, надеясь, что русские конники, увлеченные преследованием, не найдут его. Но воевода татарский был обнаружен и вынужден был рассказать о силах и местоположении лагеря Субудая и Джебэ.
Ободренные первым успехом, «перешли все люди и князья все и Мстислав Черниговский реку Днепр и пошли на конях в поле Половецкое». Передовой монгольский отряд пытался задержать продвижение русского войска, но «стрельцы русские победили их и гнали далеко в поле, и взяли стада их». Началось преследование, продолжавшееся восемь дней. Княжеские дружины растянулись по степи, потеряли связь друг с другом. Когда на девятый день похода, 31 мая 1223 г., за речкой Калкой князей встретил сомкнутый строй монгольской конницы, изготовившейся к бою, им очень трудно было восстановить боевой порядок.
К тому же на княжеском совете выявились разногласия относительно плана дальнейших действий. Мстислав Киевский считал, что переходить Калку и нападать на монголов в поле опасно. Он расположился на правом высоком берегу Калки и начал строить укрепленный лагерь. Мстислав Галицкий и другие князья были за немедленное наступление. Вместе с половецкими отрядами они перешли на левый берег реки Калки и были сразу атакованы монгольской конницей.