Германское командование приняло все возможные меры, чтобы подготовить город-крепость Кёнигсберг к длительному сопротивлению в условиях осады. В городе имелись многочисленные военные арсеналы и склады. Система обороны включала в себя внешний оборонительный обвод, который уже был преодолён советскими войсками, и три внутренних обвода. В центре города находилась цитадель.
В Кёнигсберге было создано три кольца обороны. Первое — в 6-8 километрах от центра города — состояло из траншей, противотанкового рва, проволочных заграждений и минных полей. На этом кольце располагалось 15 фортов (построенных к 1882 году) с гарнизонами в 150—200 человек, при 12-15 орудиях. Второе кольцо обороны проходило по окраинам города и состояло из каменных зданий, баррикад, огневых точек на перекрёстках и минных заграждений. Третье кольцо, в центре города, состояло из 9 бастионов, башен и равелинов (сооружённых в XVII веке и перестроенных в 1843—1873 годах).
Для окружения и уничтожения группировки противника советские войска должны были нанести по Кёнигсбергу удары по сходящимся направлениям одновременно с севера и с юга. Также планировался сковывающий удар на Пиллау по земландской группировке противника. Перед операцией была проведена длительная артподготовка — со 2 по 5 апреля 1945 года.
Наступление войск фронта началось 6 апреля. Для штурма укреплений были созданы 26 штурмовых отрядов и 104 штурмовые группы — как из стрелковых частей, так и из инженерных войск (в составе десяти инженерно-сапёрных бригад, трёх штурмовых инженерно-сапёрных бригад, двух моторизованных инженерных бригад и одной понтонной бригады).
Кроме того, в штурме участвовали химические войска — 7 отдельных огнемётных батальонов, рота фугасных огнемётов и 5 отдельных рот ранцевых огнемётов. Эти подразделения были распределены по штурмовым отрядам и штурмовым группам.
Штурм Кёнигсберга начался в 9 часов утра мощной артподготовкой, затем, в 12 часов, под прикрытием огневого вала в наступление пошли пехота, танки и самоходные орудия. Согласно плану, основные силы обходили форты, которые блокировались стрелковыми батальонами или ротами при поддержке самоходных орудий, подавлявших вражеский огонь, сапёров, использовавших подрывные заряды, и огнемётчиков.
Большую роль в штурме города сыграли штурмовые отряды. Они состояли из стрелковых рот, нескольких артиллерийских орудий калибром от 45 до 122 мм, одного или двух танков или самоходных орудий, взвода станковых пулемётов, миномётного взвода, взвода сапёров и отделения огнемётчиков.
Немцы оказывали упорное сопротивление, однако к исходу дня 39-я армия вклинилась в оборону противника на несколько километров и перерезала железную дорогу Кенигсберг — Пиллау. 43-я, 50-я и 11-я гвардейская армии прорвали 1-й оборонительный обвод. Спустя два дня советские войска захватили порт и железнодорожный узел города, промышленные объекты и отрезали гарнизон Кенигсберга от земландской группировки немцев.
8 апреля немцам было предложено сдаться. Они отказались и продолжили сопротивление. Некоторые части гарнизона попытались отступить на запад, но были перехвачены 43-й армией.
После массированной бомбардировки и штурма крепости 11-й гвардейской армией, 9 апреля немецкий гарнизон капитулировал по приказу генерала Ляша, подписавшего акт о капитуляции. 10 апреля были в основном ликвидированы последние очаги сопротивления немцев в Кёнигсберге. На башню Der Dohna было водружено Знамя победы.