От Новгорода Батый повел орду в степь, монголы шли большой облавой, подвергая громадные территории погрому и разорению. Под Смоленском один из монгольских отрядов был разбит, Батый не рискнул вновь атаковать город, обошел его стороной и продолжил движение на юг. После ожесточенного боя был захвачен Вщиж, степняки вторглись в землю вятичей и сожгли Серенск. В конце апреля 1238 г. орда подошла к городу Козельску. Козельск был расположен на месте слияния речки Другусны с рекой Жиздрой, вода окружала центральную часть города с северной, западной и восточной стороны. Левый берег Жиздры был крут и обрывист, отвесные склоны возвышенности, где находился детинец, достигали до 30 м высоты. Помимо естественных укреплений, Козельск был окружён мощнейшими земляными валами, остатки которых можно видеть и в наши дни. Периметр оборонительных укреплений детинца составлял около 900 м., к северу от крепости, до берега реки Другусны находился посад. В Козельске было две линии оборонительных валов, на которых высились бревенчатые стены и башни. Поскольку Козельск входил в состав Черниговского княжества, можно предположить, что князь Михаил Всеволодович усилил местный гарнизон дополнительными войсками.
В Козельске княжил малолетний князь Василий, по прозвищу Козля. Поскольку правитель был мал, то всеми делами заправляли бояре и воеводы. Они обратились к горожанам с призывом сражаться против захватчиков. Жители города проявили редкое единодушие и решили дать бой монголам. Когда в Козельск прибыло монгольское посольство и потребовало открыть перед ханом ворота, русские ответили отказом. Хан попал в затруднительное положение. Во-первых, под городом собралась не вся орда, поскольку тумены чингисидов Бури и Кадана действовали на другом оперативном направлении. Во-вторых, реки вскрылись ото льда, начался разлив, поэтому монголы оказались в ловушке. Батый не мог штурмовать Козельск, окруженный со всех сторон водой, не мог и увести войска в степь, потому что развезло и размыло дороги. В этих условиях хан начал осаду города. На первый план для Батыя вышла проблема снабжения войск, он был вынужден распустить большую часть воинов по окрестностям в поисках продовольствия и корма для коней. Вылазки защитников хан не опасался, поскольку разлив Жиздры и Другусны отрезал Козельск от остального мира. Монголы были сами по себе, русские сами по себе, никто никому помешать не мог. Степняки приступили к сооружению осадной техники, и можно предположить, что у них возникли затруднения с метательными снарядами. Согласно летописным свидетельствам, массированное применение осадной артиллерии монголами было при штурмах Москвы, стольного Владимира и Торжка. Запас каменных ядер должен был истощиться, пополнить его было негде. Возможно, какое-то количество метательных снарядов было собрано после захвата городов, однако это не решало проблему.
Наступил месяц май, вода в реках спала, земля подсохла, монголы выкатили осадные машины на позиции и начали обстрел городских стен и башен. В течение нескольких дней камнеметы крушили укрепления Козельска, нукеры под прикрытием деревянных навесов и щитов заваливали ров. Однако приступ был отбит, провалились и другие попытки овладеть городом с помощью лобового штурма. Батый пребывал в растерянности, когда к городу подошли тумены Кадана и Бури. Ситуация изменилась, обстрел Козельска усилился, началась подготовка к генеральному штурму. Он продолжался три дня. Монголы пытались прорваться в город, но защитники заняли проломы и успешно отражали все атаки врага: «
52. Битва за Чернигов (18 октября 1239)