Между тем полки Даниила стремительно приближались к реке Сан — шли налегке, доспехи и тяжелое снаряжение везли на телегах и вьючных лошадях, а впереди, тщательно проводя разведку на местности, двигались половецкие отряды и сторожевой полк воеводы Андрея. У брода через Сан Даниил остановил рать — войска стали вооружаться для битвы под прикрытием реки, потому что, как оно повернется на другом берегу, не знал никто. Брод был глубоким, сначала переправилась половецкая конница и сразу же устремилась вперед — там без охраны бродили многочисленные стада вражеского войска. Но степняков одернул гонец от галицкого князя — никаких грабежей, следить за местностью и прикрывать переправу главных сил. Русские полки вошли в реку и начали быстро переходить на другой берег, где сразу же строились в боевые порядки. Если бы Ростислав не занимался ерундой, то у него был прекрасный шанс здорово осложнить жизнь Даниилу во время его перехода через Сан, однако сын князя Михаила им не воспользовался, и с этого момента боевые действия протекали под диктовку Даниила Романовича. Развернув полки традиционным построением — большой полк, а также полки правой и левой руки, он начал наступление на врага. Сам князь вел левое крыло, усиленное дружиной, которое по его замыслу должно было стать ударным, а центром боевого построения командовал воевода Андрей, и ему предстояла труднейшая задача — связать боем главные силы Ростислава. Князь Василько с дружиной шел во главе полка правой руки, выходя прямо на польские отряды воеводы Флориана. Вместе с отцом шел на битву и сын Даниила Лев — для княжича это был первый бой, а потому к нему приставили самых лучших воинов, поскольку в бою галицкому князю будет не до сына.
Русская рать продолжала неумолимо надвигаться на вражескую армию, воины шли в бой не спеша, берегли силы перед решающим столкновением, а налетавшие порывы ветра развевали княжеские стяги и плащи дружинников. Ярко блестели на солнце шлемы и доспехи, в ожидании атаки воины прикрылись большими щитами, и теперь казалось, что по полю движется червленая стена. Но и Фильней с Ростиславом изготовили свои войска к бою — поляки двинулись против Василька, а Ростислав повел своих гридней и дружины галицких перебежчиков прямо на полк Даниила, надеясь сокрушить его одним мощным натиском. Главную ударную силу — полк венгерских рыцарей — бан Фильней оставил при себе, ожидая, что, когда русские полки увязнут в бою и выдохнутся, он введет его в бой. Между тем Ростислав уже шел в атаку на Даниила, но неожиданно сам оказался под ударом — его атаковал полк воеводы Андрея, и князю пришлось спешно менять направление атаки. Конная дружина воеводы схлестнулась с черниговскими гриднями и боярскими отрядами, от страшного встречного удара десятки всадников вылетели из седел, треск ломаемых копий и стук щитов прокатился по всему полю сражения. Вои Ростислава навалились на галичан и стали их теснить, но подоспели пешие ратники и плотными рядами ударили по врагу. Но Ростислав ввел в бой свежие войска и, встав впереди гридней, лично повел их в атаку — часть войск Андрея дрогнула и побежала назад к Сану. Остальных воеводе удалось остановить — носясь как очумелый вдоль строя, Андрей бил отступающих мечом плашмя по плечам и спинам и в итоге остановил отступление. Даниил, обходя с краю со своим полком сражение, тоже заметил, в каком трудном положении оказался его лучший воевода, и спешно послал ему на выручку 20 бояр с ратниками. В итоге натиск Ростислава был остановлен, и теперь уже галицкие ратники стали теснить его полки.
Несладко пришлось и Васильку — увидев несущуюся на его полк лавину закованных в железо поляков, он выдвинул вперед пешее воинство — прикрывшись щитами в рост человека, ратники опустили копья, и в эту стену с разгона врезались тысячи людей и лошадей. «Гони долгобородых!» — гремело над рядами польских рыцарей, когда они пытались проломить русский строй, — но не тут-то было! Рыцарство увязло в плотных рядах русской рати, и началась отчаянная рукопашная схватка — с боевым кличем «керелешь» ляхи ломили вперед, но падали под ударами копий и топоров. А Даниил тем временем обошел место сражения Ростислава с Андреем и вышел прямо на рыцарский полк бана Фильнея — княжеский рог протрубил сигнал, и галицкая дружина врубилась в венгерские ряды. Этого Фильней никак не ожидал, он в это время спокойно ездил среди рядов своего воинства, выжидая момента для удара, и рассуждал на тему, что «Русские стремительны в нападении: выдержим их натиск — они не могут выдержать долгого боя». Нападение русских было внезапным, но бан был боец опытный, а потому сразу же повел своих рыцарей в контратаку — княжеский воевода Шелв был ранен, а Даниил окружен венграми, которые стали стаскивать его с коня. Ударами боевого топора князь раскидал врагов и вырвался из полона, но, увидев, как на него несется венгерский рыцарь, убрал топор, выдернул из земли торчащее в ней копье и помчался навстречу врагу. Страшным ударом галицкий князь пронзил врага насквозь, и венгр рухнул на землю с обломком копья в груди, а Даниил помчался дальше, туда, где отчаянно бился бан Фильней. Но раньше его там очутился сын — Лев бросился на королевского полководца и разбил копье о его щит, но тут вихрем налетел Даниил с гриднями и ударом топора сбросил Фильнея на землю. Порубив стоявших на его пути венгров, князь прорвался к королевскому знамени, срубил знаменосца и встав на стременах, разорвал венгерский стяг пополам. Видевшие это рыцари дрогнули и обратились в бегство, а за ними следом побежали и воины Ростислава, а когда Василько опрокинул полки Флориана, бегство врагов стало всеобщим. За ними ринулись в погоню и гнали через поля и овраги — князь Даниил выехал на холм и, осмотрев местность, решил возглавить преследование, но брат Василько этому воспротивился, и погоня продолжалась без князя. Разбитое королевское воинство гнали до самой ночи, конница возвращалась из погони далеко за полночь, везя с собой много богатой добычи и гоня множество пленных. Воевода Андрей захватил в плен бана Фильнея, которому не удалось покинуть поле боя, и привел его к князю Даниилу, чтобы тот решил судьбу венгерского полководца. И вот тут галицкий князь продемонстрировал всю свою любовь к Западу, которую ему частенько пытаются приписать, — по его приказу Фильнея тут же прикончили, а вместе с ним перебили массу пленных рыцарей и дворян. Случай довольно редкий, но князь понимал, что врагам просто необходимо преподать кровавый урок, чтобы надолго запомнили. Даниил Романович искренне ненавидел западных захватчиков, и когда впоследствии искал союза с католическими державами против Батыя, то это вовсе не означает, что он преклонялся перед их ценностями — просто монголов он ненавидел сильнее. Но это будет потом, а в этот день, на поле битвы у города Ярослава, князь фактически возродил великую державу своего отца и на время положил конец агрессии католических держав на Юго-Западную Русь. Даниил выиграл главную битву в своей жизни, и эта победа положила предел внутренним смутам в Галицком княжестве, поскольку теперь никто не рисковал выступить против братьев Романовичей. Полный разгром нашествия с Запада поднял престиж Даниила на небывалую высоту, и через несколько лет венгерский король Бэла IV пожелает породниться с галицким властелином: «В тот же год прислал король угорский вестника, говоря: «Возьми мою дочь за сына своего Льва» (Галицко-Волынская летопись). Но главным своим врагом князь Даниил по-прежнему считал Батыя и теперь все свои силы направил на то, чтобы избавить Галицко-Волынскую землю от монгольской нечисти.
* * *
Грозная и прекрасная Великая домонгольская Русь уходила в прошлое вместе со своими князьями — 30 сентября 1246 года в далеком Каракоруме был отравлен Великий князь Ярослав Всеволодович. Скорее всего, князь погиб в результате противоречий между ставкой Батыя и имперской властью Монголии, поскольку рассматривался в Каракоруме как союзник владыки улуса Джучи. А вот судьба Михаила Черниговского сложилась иначе, хотя и не менее трагично — 20 сентября 1246 года он был убит в ставке Батыя. Но тем не менее его смерть порождает гораздо больше вопросов, чем гибель князя Ярослава. Во-первых, абсолютно непонятно, почему черниговский князь поехал в ставку монгольского хана, ведь он знал, что за убийство послов в Киеве с него там спросят, и спросят крепко. Во-вторых, возникает вопрос — а звал ли его Батый в свою ставку или же князь приехал без зова? В Никоновской летописи указано, что хан «повеле всем князем русским, оставшим в Руси, приити к себе и поклонитися ему». Возникает впечатление, что подобный приказ адресовался и князю Михаилу, который к этому времени покинул разоренный Киев и перебрался в не менее разоренный Чернигов. Но в «Сказании об убиении в орде князя Михаила Черниговского и его боярина Федора» мы встречаем совсем другую информацию: «блаженный князь Михаил решил ехать к Батыю. И, прибыв к отцу своему духовному, поведал он ему, так говоря: «Хочу ехать к Батыю». Об этом же говорит и Тверская летопись: «всхоте ехати к царю Батыеви». А вот ответ, зачем он туда собрался и почему решил рискнуть своей головой, мы находим в Ипатьевском летописном своде: «Оттуда еха Батыеви, прося волости своее от него». Обратим внимание, что князь Ярослав Всеволодович первым из русских князей ездил к хану в 1243 году и был утвержден Батыем как Великий князь Владимирский и Киевский — «стареи всем князем в Русском языце» (Лаврентьевская летопись). После этого многие русские князья ринулись в орду, желая закрепить за собой свои вотчины, а вот для черниговского князя ситуация складывалась критическая. Даже могущественный Даниил Галицкий в 1245–1246 годах был вынужден съездить на поклон к Батыю, но тем не менее свои владения за собой закрепил и авторитет свой на Руси и за рубежом не уронил.