Сражение за Рейхстаг вели бойцы 150-й и 171-й стрелковых дивизий 79 стрелкового корпуса (командир генерал-майор Семен Переверткин) из состава 3-й ударной армии под командованием генерала Василия Кузнецова, которая, в результате предшествовавших семидневных ожесточённых боёв, приблизилась к Рейхстагу еще вечером 28 апреля. В ночь на 29 апреля передовые батальоны обеих дивизий под командованием капитана Степана Неустроева и старшего лейтенанта Константина Самсонова захватили мост Мольтке через реку Шпрее.
Перед рассветом 30 апреля в районе боевых действий сложилась следующая обстановка. 525-й и 380-й полки 171-й стрелковой дивизии вели бои в кварталах севернее Королевской площади (Кёнигплац). 674-й полк и часть сил 756-го полка занимались очисткой здания германского Министерства внутренних дел от остатков гарнизона, прикрывавшего путь к рейхстагу. 2-й батальон 756-го полка вышел ко рву, находившемуся перед рейхстагом и занял там оборону. 207-я стрелковая дивизия переправлялась через мост Мольтке и готовилась для атаки здания театра Кроль-опера.
На рассвете 30 апреля,ценой немалых потерь было захвачено штурмом здание МВД, но попытка взять Рейхстаг с ходу оказалась неудачной. Его здание представляло собой настоящую крепость, окна и двери которой были заложены красным кирпичом, а для ведения пулемётного огня в кладке были оставлены амбразуры. С севера на юг площадь пересекал противотанковый ров – котлован линии метро, заполненный водой. Перед фасадом Рейхстага на прямую наводку были поставлены четыре батареи 105-миллиметровых и одна — 88-миллиметровых орудий. Обороняющихся поддерживали артиллерийские подразделения, танки и штурмовые орудия, расположенные в парке Тиргартен и у Бранденбургских ворот. В целом район рейхстага защищал 5-тысячный гарнизон.
Атака подразделений 756-го и 674-го полков, предпринятая утром 30 апреля, была отражена сильным огнём со стороны самого здания рейхстага и Кроль-оперы. Повторный штурм был назначен на 13:00. Атаке пехоты должна была предшествовать 30-минутная артиллерийская подготовка. Для её проведения была выделена вся артиллерия 674-го и 756-го полков 150-й стрелковой дивизии, часть артиллерии 171-й стрелковой дивизии и несколько артиллерийских частей корпусного подчинения. К этому времени советские саперы расчистили и укрепили пострадавший от взрыва мост Мольтке так, чтобы он смог выдержать тяжёлую технику. Часть орудий и танков были переправлены на южный берег Шпрее и нацелены непосредственно на Рейхстаг. Только на прямую наводку были поставлены 89 стволов. Они должны были сыграть основную роль в разрушении укреплений и подавлении огневых точек в Рейхстаге. Свободного и относительно безопасного пространства для размещения такого количества огневых средств не хватало, поэтому часть артиллерии пришлось затаскивать на второй этаж здания МВД. При необходимости к подавлению огневых средств противника могла быть привлечена вся артиллерия 79-го стрелкового корпуса — свыше 1000 стволов.
Пока шли подготовка к штурму Рейхстага и первые бои за него, ожесточённое сражение шло также на правом фланге 150-й стрелковой дивизии в полосе 469-го стрелкового полка. Заняв оборону на правом берегу Шпрее, полк несколько суток отбивал многочисленные немецкие атаки, имевшие целью выход во фланг и тыл войскам, наступающим на рейхстаг. Важную роль в отражении немецких атак сыграли артиллеристы. В этих боях отличился командир огневого взвода артиллерии 469-го стрелкового полка Иван Клочков, удостоенный позже звания Героя Советского Союза. К полудню стрелковые подразделения под прикрытием артиллерийского огня заняли исходное положение для штурма. В 13:00 все орудия, предназначенные для поддержки пехоты, открыли огонь по рейхстагу, прилегающим укреплениям и огневым точкам. Участвуя в общей артиллерийской подготовке, по рейхстагу вёли огонь танки 23-й танковой бригады, 85-го танкового полка и 88-го тяжелого танкового полка. Части 207-й стрелковой дивизии своим огнём подавили огневые точки, расположенные в здании Кроль-оперы, блокировали её гарнизон и тем самым способствовали штурму. Под прикрытием артподготовки батальоны 756-го, 674-го стрелковых полков перешли в атаку и, с ходу преодолев заполненный водой ров, завязали бой в траншеях и окопах перед Рейхстагом.
Согласно журналу боевых действий 150-й стрелковой дивизии, 30 апреля 1945 года в 14 часов 25 минут лейтенант Рахимжан Кошкарбаев и рядовой Григорий Булатов по-пластунски подползли к центральной части здания и первыми прикрепили красный флаг к колонне у лестницы главного входа. Генерал-майор Василий Шатилов вспоминает: «… с моей позиции на четвёртом этаже было видно, как разбросанные по площади фигуры людей поднимались, пробегали, падали, снова поднимались или же оставались недвижимыми. И все они стягивались, словно к двум полюсам магнита, к парадному входу и к юго-западному углу здания, за которым находился скрытый от моих глаз депутатский вход. Я видел, как над ступенями у правой колонны вдруг зарделось алым пятнышком Знамя».
По воспоминаниям Александра Бессараба одновременно через пролом в северо-западной стене рейхстага, сделанной сапёрами 171-й стрелковой дивизии, группа советских бойцов ворвалась в здание с севера.
«Мы видели, как наша пехота продвигается внутри Рейхстага от этажа на этаж. Каждый боец имел при себе красненький флажок или какой-нибудь кусок красной тряпки, чтобы показать «вот тут есть флажок», «тут есть флажок» (то есть обозначали таким образом захваченные этажи)».
Вечером 30 апреля первая группа советских бойцов ворвалась в здание рейхстага через пролом в его северо-западной стене, сделанный сапёрами 171-й дивизии. Почти одновременно центральный вход в Рейхстаг штурмовали солдаты 150-й стрелковой дивизии. Проход пехоте обеспечивали пушки 780-го артполка, 420-го отделения истребительно-противотанкового артиллерийского дивизиона, под командованием харьковчанина майора Александра Бессараба. Большую помощь бойцам штурмовавшим рейхстаг оказали танки 23 танковой бригады, 85-го отдельного танкового полка и 88-го отдельного гвардейского тяжёлого танкового полка. Еще утром несколько танков из состава последнего, переправились через Шпрее по уцелевшему мосту Мольтке и заняли огневые позиции на набережной Кронпринценуфер, а в 13:00 они прямой наводкой открыли огонь по рейхстагу, участвуя в общей артиллерийской подготовке, предшествовавшей штурму. В 18:30 огнём танковых орудий был поддержан второй штурм Рейхстага. Поздно вечером штурмовая группа в составе старших сержантов Михаила Минина, Гизия Загитова, Александра Лисименко и сержанта Алексея Боброва под командованием капитана Владимира Макова, ворвалась в здание рейхстага. Не замеченные противником, они нашли запертую дверь и выбили её бревном; поднявшись на чердак, группа через слуховое окно пробралась на крышу над западным (парадным) фронтоном здания. В 22 часа 40 минут они установили второе Красное знамя в отверстии короны скульптуры Богини Победы.