Начало 1238 года. Козельск — небольшой княжеский город на окраине Черниговской земли — готовится к смерти. К нему катится волна — орда. На стенах мальчик-князь Василий, у которого ещё голос не сломался, командует взрослыми мужиками. В лесах прячется шайка разбойников во главе с Улыбой — весельчак с глазами, пережившими пол-ад. А над всем этим — запах горящего дерева и знание, что враг неумолим, как время.
Но что делать, когда бежать некуда? Объединиться. Крестьяне, военные, лесные разбойники, даже те, кто был на грани — все идут на стены. Разбивают «хашар» — живые щиты монголов. Жгут камнемёты. Семь недель сопротивления, семь недель ярости, копоти, крови, боли. И даже когда приходят ханы Кадан и Бури с новыми машинами — не сдаются.
Город пылает. Но перед смертью он рвёт зубами горло тем, кто считал себя победителем. Предатель, купец Трясила, мнил себя недосягаемым. Но у разбойника Улыбы на него был свой счёт.
В финале — дым рассеялся. Козельск стоит, отстроенный. Улыба рядом с беременной Дашей. Жизнь упрямая, как трава сквозь пепел. А там, за кадром, где-то уже идёт расплата. Не всем предателям повезло умереть в огне.
Это не просто фильм о войне. Это история о том, как умирает город — и рождается народ.