Группировка «Брест» состояла из маршевых батальонов 34-го, 35-го и 82-го пехотных полков, 1-й роты маршевого батальона 33-го полка, 81-го и 82-го караульных, 56-го саперного батальонов, 112-й и 113-й отдельных танковых рот, имевших на вооружении по 15 стареньких «Рено» FT-12, а также взвода танкеток TKS, 9-го автомобильного дивизиона, 49-го дивизиона полевой артиллерии, 3-й зенитной батареи, караульной роты, роты связи, отдельных групп офицеров и солдат различных родов войск и медико-санитарной службы. Польские силы в общей сложности насчитывали около 4000 солдат и офицеров, 18 полевых орудий, 8 зениток, 36 танков и танкеток. Генерал Плисовский, не имея сил организовать оборону по линии внешних фортов Брестской крепости, принял решение дать бой в Цитадели, а также в прикрывавших северные и западные подступы Кобринском и Тереспольском укреплениях. Пехота заняла позиции на валах, где были оборудованы пулеметные гнезда и отрыты окопы полного профиля. Вся артиллерия и частично вкопанные в землю танки были сконцентрированы на северном направлении. Саперы произвели минирование подъездов к крепости, мостов, ведущих на Центральный остров, и подступов к Цитадели. На железнодорожной станции стояли в готовности два бронепоезда.
Передовые немецкие подразделения вышли в район Бреста 13 сентября и вступили в огневой контакт с польскими отрядами. В тот же день генерал Плисовский уведомил генерала Клебэрга о том, что часть немецких танковых и моторизованных соединений обходит Брест с северо-востока, устремляясь к позициям польской дивизии «Кобрин». Чтобы сковать маневр противника, Плисовский выслал в восточном направлении бронепоезд № 55 «Бартош Гловацкий» (вооружение: четыре 100-мм гаубицы, два 75-мм зенитных орудия, два 40-мм «бофорса», 8 пулеметов «максим») под командованием капитана Анджея Подгурского. В районе Жабинки, в 20 километрах восточнее Бреста, с бронепоезда выгрузили взвод танкеток, переоборудованных в бронедрезины, которые вели разведку в сторону моста через речку Мухавец. Здесь они столкнулись с разведывательными бронеавтомобилями 3-й танковой дивизии немцев. В ходе боя три польские машины были подожжены, а две отступили. Дальнейшее продвижение немцев было временно приостановлено огнем бронепоезда. Однако, опасаясь быть отрезанным от Бреста, капитан Подгурский принял решение вернуться в город. В это же время бронепоезд № 53 «Смелый» под командованием капитана Мечислава Малиновского провел разведку в сторону Высокого, в северном направлении, где столкнулся с танками 10-й германской дивизии. Бронепоезд произвел огневой налет, а затем отступил. Предвидя, что противник вскоре захватит брестский железнодорожный узел, генерал Плисовский отправил оба бронепоезда в сторону Ковеля.
Утром 14 сентября 3-я танковая дивизия генерала Гейера фон Швеппенбурга захватила Жабинку, перехватив железные дороги на Кобрин и Барановичи. В полдень 10-я танковая дивизия, которой командовал генерал Штумпф, заняла Брест и железнодорожный вокзал. 20-я мотодивизия генерала Викторина двигалась от Волчина, вдоль правого берега Буга к крепости. Передовые подразделения 3-й танковой дивизии обходили город с востока и выдвигались к Бугу.
Разведывательный батальон и 8-й танковый полк 10-й дивизии, поддержанные артиллерией и авиацией, с ходу атаковали линию польской обороны в Кобринском укреплении. Этот натиск был отбит огнем противотанковых ружей, артиллерии и 112-й танковой роты. Непреодолимой преградой оказались польские танки, заблокировавшие Северные ворота своими корпусами и пушечно-пулеметным огнем. Для подстраховки, на случай прорыва «панцеров» противника в 150 метрах позади ворот находилась позиция батареи зенитных орудий подпоручика Анджея Блешинского. Несколько немецких машин подорвалось на минах, пехота расстреливалась в упор с хорошо замаскированных стрелковых позиций. Во второй половине дня немцы возобновили атаки. В ожесточенной схватке растаяли обе польские танковые роты, но оборона снова устояла.
После перегруппировки сил генерал Гудериан организовал массированный штурм по всем правилам: 10-я танковая дивизия должна была наступать вдоль шоссе Чернавчицы — Брест, 20-я моторизованная — вдоль правого берега Буга, 3-я танковая дивизия — с восточной и южной сторон, завершив окружение крепости. Германские дивизии обладали значительным перевесом в силах и средствах, что гарантировало им успех. При этом поляки ничего не могли противопоставить мощному огню немецкой артиллерии и бомбардировкам с воздуха, кроме старых валов и казематов. Против 154 немецких танков было полтора десятка противотанковых ружей, против 260 орудий и минометов — 18 полевых пушек и 8 зениток. Всю ночь немецкие орудия вели обстрел крепости.
Утром 15 сентября после массированной артиллерийской и авиационной подготовки подразделения 10-й танковой и 20-й моторизованной дивизий пошли на штурм. Защитники крепости оказали упорное сопротивление. Бой, во многих местах переходивший в рукопашные схватки, продолжался весь день. Во время огневых налетов и воздушных бомбардировок защитники укреплений, оставив наблюдателей, уходили в казематы, когда наступала тишина — занимали окопы. Наступление немцев захлебнулось на гребне крепостных валов. Генерал Гудериан вновь перешел к систематическим авиационным и артиллерийским ударам, которые наносили невосполнимый урон защитникам крепости. Раненых польских солдат по мосту через Буг относили в госпиталь на Южном острове, часть из них эвакуировали в Тересполь.
Около 10 часов утра 16 сентября штурмовые отряды 10-й танковой и 20-й мотодивизии силами двух пехотных батальонов при поддержке танков и артиллерии начали решительное наступление на линию польской обороны. Германская пехота поднялась на гребень валов, но атака вновь захлебнулась, так как солдаты не выполнили приказа наступать непосредственно за огневым валом. Особенно ожесточенное сражение развернулось в районе Северных ворот, где защищался маршевый батальон 82-го пехотного полка капитана Вацлава Радзишевского при поддержке нескольких орудий 49-го дивизиона. Обеспокоенный Гудериан прибыл к месту событий, но и в его присутствии пехота не добилась успеха и отступила с тяжелыми потерями. Выстрелом польского снайпера был смертельно ранен адъютант командующего корпусом подполковник Браубах. В ожесточенном двухдневном сражении только 69-й полк 20-й мотодивизии потерял 127 человек убитыми, 7 утонувшими и 237 ранеными.
Однако положение защитников становилось безнадежным. Группировка «Брест» была на грани уничтожения, потери убитыми и ранеными составляли 40 процентов, заканчивались снаряды и гранаты, помощи не было. Горели казармы, многие укрепления были превращены в руины. На отдельных участках немцам удалось зацепиться за крепостные валы и вынудить польские подразделения отступить в Цитадель. Генерал Плисовский, получивший осколочное ранение, к этому времени утратил связь с командованием в Пинске и не имел никакой информации о положении на фронте и ситуации в стране. Между тем Варшава уже была полностью блокирована. Группа армий «Юг» соединилась в районе Влодавы с группой армий «Север», замкнув кольцо окружения вокруг основных сил польской армии. Общее руководство военными действиями практически отсутствовало. Всего этого в крепости не знали. Было лишь известно, что в направлении Бялой Подляски частей противника еще не было, а между Бугом и Вислой отходит на юг 33-я польская пехотная дивизия. Около 17 часов 16 сентября генерал Плисовский созвал совещание командиров участков обороны, на котором было принято решение: «Не видя возможности дальнейшего удержания крепости и оценивая, что уход из нее не нанесет вреда всей операции», покинуть Цитадель через свободный путь на Тересполь — Кодень.
Поздним вечером, когда огонь немецкой артиллерии стал менее интенсивным, из крепости через Тереспольские ворота вышли командование и штаб обороны, маршевые баталышы 34-го и 35-го полков, караульные батальоны, артиллеристы, обоз и машины с ранеными. С наступлением ночи дорога на Тересполь была запружена отступающими польскими частями. Прикрывать отход остались солдаты 82-го маршевого батальона и 2-я рота саперов. Саперы должны были оставить позиции последними, уничтожив за собой мосты и заминировав дорогу.
Немцы в ночь с 16 на 17 сентября перебросили на левый берег Буга 76-й пехотный полк 20-й мотодивизии под командованием полковника Голлника, планируя наступление с западного направления. В темноте на тереспольском шоссе произошло несколько стычек польского арьергарда с передовыми немецкими патрулями.
Саперы 2-й роты продолжали ожидать в Цитадели подразделения 82-го маршевого батальона. В Кобринском укреплении гремел бой. Связные, посланные к капитану Радзишевскому с приказом отходить, не вернулись. Позднее выяснилось, что командир заявил подчиненным, что разрешает им отступить, но сам будет сражаться до конца. Солдаты решили остаться вместе с ним. Около полуночи саперы при свете ракет увидели танки и пехоту, которые двигались с севера к Цитадели. Одновременно пришло известие, что дорога на Тересполь захвачена противником. Так и не выполнив задание, небольшой отряд саперов через Холмские ворота просочился на Южный остров, а затем благополучно вышел в окрестности Страдичей.