Между тем власти активно готовились к подавлению «мятежа». Прежде всего Кронштадт изолировали от внешнего мира. Воссоздается недавно распущенная 7-я армия под командованием М. Н. Тухачевского, которому предписывалось подготовить оперативный план штурма и «в кратчайший срок подавить восстание в Кронштадте». Штурм крепости назначили на 8 марта. Дату выбрали не случайно. Именно в этот день после нескольких переносов должен был открыться X съезд РКП (б). Ленин понимал необходимость реформ, в том числе замены продразверстки продналогом, разрешения торговли. Накануне съезда были подготовлены соответствующие документы, для того чтобы вынести их на обсуждение. Между тем именно эти вопросы являлись одними из основных в требованиях кронштадтцев. Таким образом, могла возникнуть перспектива мирного разрешения конфликта, что в планы большевистских лидеров не входило. Им требовалась показательная расправа с посмевшими открыто выступить против их власти, чтобы другим неповадно было. Вот почему именно в день открытия съезда, когда Ленин должен был объявить о повороте в экономической политике, предполагалось нанести беспощадный удар по Кронштадту. Многие историки считают, что с этого момента коммунистическая партия начала свой трагический путь к диктатуре через массовые репрессии.
Взять крепость сразу не удалось. Понеся большие потери, карательные войска отступили на исходные рубежи. Одной из причин этого были настроения красноармейцев, часть которых проявила открытое неповиновение и даже поддержала кронштадтцев. С большим трудом удалось заставить наступать даже отряд петроградских курсантов, считавшийся одной из самых боеспособных частей. Порядок наводили привычным способом — репрессиями. Организуются полевые выездные заседания революционных трибуналов, чрезвычайные революционные «тройки». Ненадежные части разоружаются и отправляются в тыл, зачинщиков расстреливают без промедления, причем многих — публично, в назидание другим. Процедура расправы нередко была предельно упрощена: после короткого допроса обвиняемому сразу же выносили приговор, который зачитывался «всем ротам и командирам».
Волнения в воинских подразделениях создавали опасность распространения восстания на весь Балтийский флот. По этой причине было принято решение отправить «ненадежных» моряков для прохождения службы на другие флоты. К примеру, на Черное море в течение одной недели отправили 6 эшелонов с моряками балтийских экипажей, представлявших собой, по мнению командования, «нежелательный элемент». Чтобы упредить возможный мятеж моряков по пути следования, правительство усилило охрану железных дорог и вокзалов.
Последний штурм крепости начался в ночь на 16 марта 1921 года. К этому времени стало очевидно, что продолжать сопротивление не имеет смысла. Защитники Кронштадта принимают решение оставить крепость. Согласие предоставить убежище восставшему гарнизону дает правительство Финляндии. В соседнюю страну перебирается около 8 тыс. человек, в том числе почти все члены ВРК и штаба обороны.
К утру 18 марта крепость оказалась в руках красноармейцев. Точное количество жертв среди штурмовавших до сих пор неизвестно. Единственным ориентиром служат данные, содержащиеся в книге «Гриф секретности снят: потери вооруженных сил СССР в войнах, боевых действиях и военных конфликтах». В соответствии с ними безвозвратные потери составили 1912 человек, санитарные — 1208 человек. Нет достоверных сведений и о числе жертв среди защитников Кронштадта. Многие из погибших на балтийском льду даже не были преданы земле. С таянием льда возникла опасность заражения акватории Финского залива. В конце марта в Сестрорецке на встрече представителей Финляндии и Советской России решался вопрос об уборке трупов, оставшихся в Финском заливе после боев.
Прошло несколько десятков открытых судебных процессов над участниками «мятежа». Свидетельские показания фальсифицировались, а самих свидетелей зачастую подбирали из среды бывших уголовников. Были найдены также исполнители ролей эсеровских подстрекателей и «шпионов Антанты». Огорчились палачи из-за неудачи с захватом бывшего генерала Козловского, который должен был обеспечить «белогвардейский след» в восстании. Обращает на себя внимание тот факт, что вина большинства попавших на скамью подсудимых заключалась в присутствии в Кронштадте во время восстания. Объясняется это тем, что «мятежников», захваченных с оружием в руках, расстреливали на месте. С особым пристрастием карательные органы преследовали тех, кто во время кронштадтских событий вышел из РКП(б). Крайне жестоко расправились с моряками линкоров «Севастополь» и «Петропавловск». Количество расстрелянных членов экипажей этих кораблей превысило 200 человек. Всего к высшей мере наказания были приговорены 2103 человека, к различным срокам наказания — 6459 человек.