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