Сбор княжеских армий начался в марте 1223 года. Под стягами великого князя Мстислава Романовича выступили в поход не только дружины его сына Всеволода, зятя Андрея, но и отряды Святослава Рюриковича Шумского и Юрия Несвижского, а также большой пеший полк киевских ополченцев. Это было самое большое из княжеских войск. Под высокой рукой великого черниговского князя Мстислава Святославича шли полки Олега Игоревича Курского, князей Путивльского и Трубчевского. Мстислав Удатной также собрал большое войско, в которое входили дружины его зятя Даниила Романовича, князя Волынского, Мстислава Ярославича Немого, князя Луцкого, князя Изяслава Ингвареча и Изяслава Владимировича Теребовльского. Был зван на общерусское дело и великий князь Владимирский Юрий Всеволодович, но он выслал на подмогу трем Мстиславам лишь отряд своего племянника, ростовского князя Василька Константиновича. Но и это небольшое войско шло слишком медленно и, дойдя к моменту сражения лишь до Чернигова, затем поспешно вернулось назад.
Местом встречи княжеских полков был избран небольшой городок Заруба на Днепре, в 50 километрах ниже Киева. Даже без владимиро-суздальских полков в конце апреля 1223 года здесь собралась армия, какой «давно вкупе не бывало» – около 103 тысяч воинов. Впрочем, и монголо-татары хорошо использовали полученную ими передышку, включив в свое войско многочисленные отряды степных удальцов, в частых войнах того времени охотно встававших на сторону сильного и удачливого завоевателя. К монголам присоединились даже бродники – славяно-русское население нижнего Дона, в которых многие историки видят предков современных казаков.
В конце апреля князья, так и не договорившиеся о едином командовании, повели каждый свое войско к Днепровским порогам, а затем, оставив здесь суда, направили свои силы к устью реки Хортицы. Там 15 мая 1223 года соединились русские и половецкие войска. Тогда же на противоположном берегу Днепра союзники увидели первые монгольские разъезды. На следующий день Мстислав Удатной с 10-тысячным отрядом и половцами перешел Днепр и атаковал монгольскую стражу. Разбив татарские дозоры, он обратил их в бегство, захватив командовавшего ими «воеводу» Гамябека, тогда же убитого половцами. Следующая стычка с монголами также закончилась победой русского оружия. Успешное начало похода воодушевило вождей собравшейся на Днепре армии, и они решили двинуться в степь, навстречу главным силам монголов. У ладейной переправы оставили лишь небольшой отряд в 1000 воинов.
Утомительное преследование легкоконных татарских отрядов продолжалось 7 дней. На восьмой день русско-половецкая армия достигла берегов степной речки Калки, где уже ожидали ее тумены Субудея и Джебе. Войско галицкого князя и половецкие отряды, переправившись через Калку, стали готовиться к нападению на татар, черниговские полки, помешкав, также стали переправляться к месту боя, но войска Мстислава Романовича Киевского, оставшись на западном берегу реки, стали готовиться к обороне, устроив укрепленный лагерь. В произошедшем 31 мая 1223 года сражении на реке Калке монголы разгромили галицко-половецкие, а затем и черниговские войска, обратили их в бегство и преследовали: галичан до самого Днепра, а черниговцев, пробивавшихся на север, до Новгорода Северского. На этом пути полегли тысячи русских витязей. Погибли и Мстислав Черниговский, и его сын Василько. С тысячей воинов смог пробиться к Чернигову лишь смоленский князь Владимир Рюрикович, за Днепр ушли от монгольского преследования галицкий князь Мстислав Удатной и еще очень молодой волынский князь Даниил, раненный в сражении ударом монгольского копья в грудь.
Разгромив и рассеяв галицкие и черниговские рати, Субудей-багатур и Джебе-нойон вернулись к окруженному лагерю князя Мстислава Романовича Киевского, который стерегли отряды татарских «воевод» Цыгыр-хана (Черкана) и Тешу-хана (Тешкана). К окруженному русскому войску был послан парламентер – воевода бродников Плоскиня. Тот, на кресте поклявшись, что татары опустят всех сдавшихся обратно на Русь, уговорил князей сложить оружие, словом Субудея обещав им, что не прольется ни капли княжеской крови. Вопреки ранее данным клятвам и обещаниям всем пленным была уготована страшная участь – простых воинов перебили, а князья, которым сам Субудей обещал, что кровь их не будет пролита, были брошены под дощатый настил – на нем, отмечая победу, пировали монгольские командиры. Под тяжестью пирующих все пленные князья были задавлены.
Одержав победу, Джебэ и Субудэй отправились обратно через Волжскую Булгарию. Там их войско попало в засаду, понеся большие потери, в том числе утратило всю добычу. По сообщению Ибн аль-Асира, после битвы с булгарами в монгольском войске уцелело 4 тыс. человек. Остатки рати Субудэя и Джебэ через Саксин, располагавшийся предположительно на Нижней Волге, проследовали в Дешт-и Кыпчак, где соединились с действовавшей там армией Джучи, предоставив командованию точную информацию о ситуации в Восточной Европе.