Оборона Козельска — семинедельная оборона одного из удельных центров Черниговского княжества весной 1238 года. Взятие Козельска стало последним этапом первого похода монголов на Русь.
В зимнюю кампанию 1237—1238 годов монголы атаковали Рязанское и Владимиро-Суздальское княжества. Они взяли Рязань, разбили русские войска под Коломной, взяли Владимир, столицу Северо-Восточной Руси. Далее основные силы с Батыем, другими чингизидами и Субэдэем прошли через Переславль-Залесский на Тверь, а второстепенные силы во главе с Бурундаем разорили Поволжье и разбили на Сити войско Юрия Всеволодовича Владимирского.
Корпус Батыя 5 марта взял новгородский Торжок, после чего часть монгольских войск стала преследовать оставшихся в живых защитников Торжка вплоть до Игнач Креста, после чего вернулась и соединилась с основными силами. После этого началось облавное движение монголов на юг, назад в степь.
Основные силы Батыя от Торжка двинулись к Козельску напрямую, западное крыло его корпуса прошло восточнее Смоленска, разорило город Вщиж и также вышло к Козельску, третья же часть сил прошла восточнее, мимо уже разорённой в декабре 1237 года Рязани, и также затем вышла к Козельску.
Козельск являлся столицей одного из уделов Черниговского княжества. На момент монгольского вторжения там княжил двенадцатилетний Василий, принадлежавший ветви Мстислава Святославича Черниговского, погибшего в 1223 году во время битвы на Калке. Точная родословная князя Василия не ясна. Отцом князя Василия был скорее всего Иван Мстиславич.
Данные археологии и палеогеографии свидетельствуют, что Козельск был хорошо защищён естественными природными преградами — реками, болотами, холмами и врагами, однако о характере его оборонительных сооружений мало чего известно.
Современный Козельск расположен на левом берегу реки Жиздры. Небольшая речка Другуска, текущая по городу, перед впадением в Жиздру образует обширную и очень крутую петлю. Именно здесь — почти на острове — находится его исторический центр Козельская крепость. В результате масштабных исследований, проведённых в 2010-х годах, археологами были определены примерные размеры Козельского городища в XIII—XIV веках. Располагаясь на возвышенном мысу между реками Жиздрой и Другусной, укрепленная часть городища (так называемая «крепость») занимала площадь около 6 га, а собственно княжеская резиденция («детинец») всего 0,8 га. Археологические раскопки показали, что посад начинался севернее места, где Другусна максимально приближается к Жиздре с запада. Затем она вновь отдаляется от неё, перед впадением образуя петлю и холм диаметром около 400 метров. В северо-восточной части холма находился детинец. Таким образом, крепость была защищена реками с трёх сторон, монголы подошли с четвёртой, а отряды Кадана и Бури в начале мая, после половодья — с востока из-за Жиздры. В то же время половодье и распутица резко снижали вероятность активных действий Михаила Всеволодовича Черниговского.
Первоначально Козельск осадили только войска корпуса Батыя, двигавшиеся с севера от Торжка. Подойдя к городу, Батый предложил его защитникам некоторые условия мирного соглашения, или капитуляции, которые были ими отвергнуты. Как повествует летописец жители Козельска решили на совете: "яко аще князь нашь младъ есть, но положимъ животъ свой за нь; и сде славу сего света прiимше, и тамъ небесныя венца отъ Христа Бога прiимшемъ".
Персидский историк Рашид-ад-Дин, рассказывая о длительной осаде Козельска, отмечал, что корпус Батыя не смог взять город в течение двух месяцев. Похожий срок в семь недель называет и Ипатьевская летопись. Взят город был только после подхода корпусов Кадана и Бури.
По предположению Каргалова В.В., Козельск был назначен местом сбора войск, а Бури и Кадан привезли с собой осадные орудия, до этого город не штурмовался.
С помощью камнемётных машин монголы проломили стену и захватили вал, на котором она стояла. Завязалась рукопашная схватка («козляне ножи рѣзахуся с ними »). Штурм захлебнулся, воины Батыя отступили].
По предположению Селезнева Ю.В. стены Козельска можно было штурмовать лишь в ограниченном количестве мест, так как весенняя распутица сделала непроходимыми долины рек Жиздры и впадающей в неё у Козельска Другусны и заперла монгольское войско на водоразделе].
В сложившихся условиях защитники города приняли решение («свѣт же створиша») совершить вылазку («изиити на полкы Тотарьскые»). Атака русских оказалась полной неожиданностью для врага. Дружинникам и ополченцам удалось разрушить камнемётные машины («исѣкоша праща ихъ») и, «нападше на полъкы ихъ», уничтожить до 4000 воинов неприятеля, включая трех военачальников из рода Чингизидов, родственников хана . Эта отчаянная попытка спасти город стоила участникам вылазки жизни: никто не смог вернуться назад («и самѣ же избьени быша»).
Новый штурм защитники Козельска отразить уже не могли: сил для сопротивления не осталось. Завоеватели не пощадили никого: «изби вси, и не пощади от отрочатъ до сосущих млеко». Малолетний князь Василий, согласно рассказу летописца, пропал без вести: «о князи Васильи невѣдомо есть, и инии глаголаху яко во крови утонулъ есть, понеже убо младъ ест.
Хорошо укреплённые и куда более крупные русские города (Рязань или Владимир) пали значительно быстрее, они оборонялись лишь по пять дней. А небольшой Козельск продержался 49 дней. Столько же — около двух месяцев — оборонялся только огромный Киев.