Артиллерийским огнем с линкоров и фортов кронштадтцы отразили атаку. Наступавшие без маскировочных халатов курсанты представляли собой отличную мишень на непрочном весеннем льду. Почти все участники штурма были убиты или ранены.
Дабы пресечь выражение сочувствия мятежникам и побудить колеблющиеся части идти в атаку, в ход были пущены репрессии. Уже 7 марта были расстреляны первые двое — телеграфист Герасимов, за то, что, получив телефонограмму о восстании в Кронштадте, промедлил с докладом о ней начальству, и военнослужащая 4-го артдивизиона Анна Кожевникова, за распространение „провокационных слухов контрреволюционного характера“. „Распространение“ заключалось в том, что несчастная поделилась с подругой, женой политрука, последними новостями: „Ой, что происходит сейчас в крепости, ты не поверишь. Многие коммунисты решили выйти из партии, заявления несут пачками. Ходят слухи, что восставшие моряки будут расправляться с членами РКП“. Расправляться с коммунистами кронштадтцы, кстати сказать, так и не начали. Зато в Петрограде и его окрестностях маховик репрессий набирал обороты.
На следующий день, 8 марта, взялись за расположенные в Ораниенбауме морской дивизион, поддержавший требования кронштадтцев, и 187-ю отдельную бригаду, а также дислоцированный в Сестрорецке 91-й полк, отказавшийся участвовать в наступлении. Потом очередь дошла и до других неблагонадежных частей. Расстреляли трех курсантов за „дезертирство“ во время неудачного штурма. Расстреляли еще семерых за бегство в Петроград. 14 и 15 марта расстреляли 74 красноармейца. Взбодрив войска подобным образом, Тухачевский решился на повторный штурм крепости. До этого, 11 марта, кронштадтцы отправили еще одну делегацию в Петроград, во главе с матросом „Севастополя“ Перепелкиным. Ее постигла участь первой. Тем временем Ленин еще 8 марта объявил о решении поставить на съезде вопрос о замене продразверстки продналогом и разрешении свободной торговли. 15 марта соответствующее постановление было съездом принято. Кронштадтцы пришли к выводу, что продолжать сопротивление бессмысленно, поскольку основные требования восставших были удовлетворены. Но арест второй делегации показал, что кончить дело миром не удастся. Иван Ермолаев вспоминал: „Поступавшие с материка сведения говорили, что в районе Ораниенбаума продолжают прибывать крупные части во главе с командармом Тухачевским. Всё это ещё более убеждало нас, что, отвергая всякие переговоры, Троцкий, Зиновьев и Ворошилов твердо решили расправиться с нами вооруженной силой. На такую братоубийственную бойню гарнизон не мог пойти. Вместо серьезного вооруженного сопротивления решено было уйти на финскую территорию, о чем ревком и договорился с правительством Финляндии“.
Перед началом восстания в Кронштадте насчитывалось около 27 тысяч военных моряков и красноармейцев. Большинство решило остаться в родном городе и не оказывать сопротивления советским войскам. Примерно треть гарнизона собиралась уйти в Финляндию, оставив небольшие арьергарды из наиболее опытных военморов для прикрытия отступления. 14 марта началась подготовка к отступлению. 16-го отряды прикрытия заняли позиции на линкорах и фортах, и в ночь с 16 на 17 марта отход на финский берег начался.
Тем временем 300 делегатов X партсъезда влились в изготовившиеся к наступлению на Кронштадт части, дабы пресечь всякие колебания среди красноармейцев и повести их в бой. Тухачевский отдал боевой приказ: „В ночь с 16-го на 17-е марта стремительным штурмом овладеть крепостью Кронштадт… Артиллерийский огонь открыть в 14 часов 16 марта и продолжать его до вечера… Движение колонн Северной группы начать в 3 часа, Южной группы в 4 часа 17 марта… Группам ограничиться лишь занятием наиболее препятствующих движению фортов… Командующему Южной группой назначить общего начальника по руководству войсками в уличных боях в Кронштадте… Соблюсти полную точность движения колонн…“ Командарм также распорядился об использовании для обстрела линкоров и крепости химических снарядов, нисколько не волнуясь, что от него неизбежно пострадают и мирные жители города-крепости. Однако из-за неподходящих метеоусловий — густого тумана, резко снижавшего эффективность отравляющих веществ, от газовой атаки на этот раз пришлось отказаться. Да и близость Финляндии не позволяла развернуться как следует: вдруг газы достигнут и финской территории, скандала не оберешься. К тому же в крепости находились представители Международного Красного Креста, снабжавшего осажденных продовольствием. Они тоже могли стать нежелательными свидетелями. В результате химическое оружие Тухачевскому удалось применить лишь несколькими месяцами позднее, при подавлении Тамбовского восстания. Но сама идея травить мятежников газами родилась, как видим, еще под Кронштадтом.
В первой половине дня 17 марта кронштадтцам, несмотря на ураганный артиллерийский огонь с материка, удавалось отражать атаки советских войск. Двенадцатидюймовые орудия линкоров при разрыве проделывали во льду широкие полыньи, которые тут же покрывались тонкой ледяной коркой. Многие штурмующие проваливались в них и камнем шли на дно. Большие потери красноармейцы несли также от осколков и ружейно-пулеметного огня. Тухачевский думал управлять действиями атакующих по телефону, но в первые же минуты боя телефонные провода оказались перебиты осколками. Так что командарму пришлось довольствоваться ролью зрителя. Правда, наблюдать за ходом сражения мешал сильный туман. Только к вечеру передовые отряды атакующих ворвались в Кронштадт. В 21 час 50 минут Тухачевский отдал боевой приказ о полном овладении крепостью, островом Котлин и батареей Риф. Им предписывалось сегодня же окончательно завладеть городом и ввести в нем железный порядок… При действиях в городе широко применять артиллерию в уличном бою»: В дополнение командарм послал секретную телеграмму о том, что делать с поверженным противником: «Жестоко расправиться с мятежниками, расстреливая без всякого сожаления… пленными не увлекаться».
К утру 18 марта основная часть восставших переправилась на финский берег. Оборона Кронштадта была организованно прекращена. Некоторым отрядам прикрытия также удалось уйти в Финляндию, другие сдались на милость победителей. Но последние не склонны были к милосердию. Официальные данные говорят о более чем тысяче погибших кронштадтцев, более чем двух тысячах раненых и двух с половиной тысячах захваченных в плен вооруженных моряков. Потери советских войск называются гораздо точнее — 527 убитых и 3285 раненых. Выходит, что Красная Армия при штурме Кронштадта потеряла ранеными в полтора раза больше, чем защитники крепости, а вот убитыми — вдвое меньше. Но так не бывает. При штурме такой укрепленной позиции, как Кронштадт, да еще в условиях, когда наступать приходилось в лоб, по льду, на котором негде было укрыться атакующим, наступающая сторона должна нести потери, многократно превышающие потери обороняющейся. Можно с уверенностью сказать, что красноармейцы действительно не церемонились и что большинство из тысячи с лишним погибших кронштадтцев были расстреляны уже после сдачи на месте без суда и следствия.