К тому времени, по оценке советского командования, гарнизон Берлина насчитывал не менее 200 тысяч человек, 3 тысячи орудий и 250 танков. Оборона города была тщательно продумана и хорошо подготовлена. Чем ближе к центру города, тем оборона становилась плотнее. Улицы перекрывались мощными баррикадами толщиною до четырёх метров. Немаловажное значение в системе обороны врага имели подземные сооружения, которые широко использовались противником для маневра войск, а также для укрытия их от артиллерийских и бомбовых ударов.
К 26 апреля в штурме Берлина принимали участие шесть армий 1-го Белорусского фронта и три армии 1-го Украинского фронта. К 27 апреля в результате действий глубоко продвинувшихся к центру Берлина армий двух фронтов группировка противника в Берлине вытянулась узкой полосой с востока на запад - шестнадцать километров в длину и два-три, в некоторых местах пять километров в ширину.
Бои в городе не прекращались ни днем, ни ночью. Квартал за кварталом советские войска «прогрызали» оборону противника. Так, к вечеру 28 апреля, части 3-й ударной армии вышли в район рейхстага. В ночь на 29 апреля действиями передовых батальонов под командованием капитана С. А. Неустроева и старшего лейтенанта К. Я. Самсонова был захвачен мост Мольтке.
На рассвете 30 апреля штурмом ценой немалых потерь было захвачено здание министерства внутренних дел, соседствовавшее со зданием парламента. Путь на рейхстаг был открыт.
30 апреля 1945 в 21.30, части 150-й стрелковой дивизии под командованием генерал-майора В. М. Шатилова и 171-й стрелковой дивизии под командованием полковника А. И. Негоды штурмом овладели основной частью здания рейхстага. Оставшиеся гитлеровские части оказывали упорное сопротивление. Драться приходилось за каждое помещение. Ранним утром 1 мая над рейхстагом был поднят штурмовой флаг 150-й стрелковой дивизии, однако бой за рейхстаг продолжался ещё весь день и только в ночь на 2 мая гарнизон рейхстага капитулировал. До капитуляции фашистской Германии оставалось 7 дней.