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