Выйдя на Эльбу, англо-американские войска оказались в 100 км от стен Берлина. Главнокомандующий союзными войсками Д. Эйзенхауэр в разговоре с генералом Брэдли на свой вопрос: «Сколько, по-вашему, нам стоило бы взять Берлин?» незамедлительно получил ответ: «Это будет нам стоить 100 тысяч человек». По мнению генерала, это была бы «довольно большая цена за фактор престижа». В это же время соединения Красной армии находились всего лишь в 60 км от германской столицы и были готовы к нанесению завершающего удара по противнику.
Фашистское руководство Германии мобилизовало все ресурсы страны, надеясь отстоять Берлин и избежать безоговорочной капитуляции. При этом главные силы немецкое командование по-прежнему направляло против Красной армии. К началу 1945 г. Германия располагала 299 дивизиями, из которых на Восточном фронте действовали 192 дивизии и 107 противостояли англо-американским войскам. Для обороны берлинского направления в начале апреля 1945 г. немецкое командование стянуло основные силы, создав здесь крупную группировку — группу армий «Висла» (3-я танковая и 9-я пехотная армии) под командованием генерал-полковника Г. Хейнрици (с 28 апреля генерала К. Штудента), 4-я танковая и 17-я пехотная армии группы армий «Центр» генерал-фельдмаршала Ф. Шерне-ра (всего 48 пехотных, 9 моторизованных, 6 танковых дивизий и большое количество других частей и соединений), в состав которой входило около 1 млн человек, более 10 тыс. орудий и минометов, 1,5 тыс. танков и штурмовых орудий, 3,3 тыс. боевых самолетов. В резерве главного командования сухопутных войск находилось 8 дивизий.
По планам советского командования, войска Красной армии мощными ударами трех фронтов должны были прорвать оборону противника, расположенную вдоль берегов рек Одер и Нейсе, и, развивая наступление в глубину, окружить основную группировку немецких войск на берлинском направлении, уничтожить ее и выйти к Эльбе.
Согласно этому плану, советское командование сосредоточило на берлинском направлении крупные силы в составе трех фронтов — 1-го Белорусского (командующий Маршал Советского Союза Г. Жуков), 2-го Белорусского (командующий Маршал Советского Союза К. Рокоссовский) и 1-го Украинского (командующий Маршал Советского Союза И. Конев).
Берлин был превращен в хорошо укрепленную крепость. Вокруг города немцы создали три оборонительных кольца — внешний, внутренний и городской, а в самом городе — девять секторов обороны: восемь по окружности и один — в центре. Этот центральный сектор, охватывавший основные государственные и административные учреждения, в том числе Рейхстаг и имперскую канцелярию, в инженерном отношении был подготовлен особенно тщательно. В городе насчитывалось более 400 железобетонных долговременных сооружений. Самые крупные из них — врытые в землю шестиэтажные бункеры — вмещали до тысячи человек каждый. Для скрытой переброски войск предполагалось использовать городское метро.
Силы Красной армии, авиации, флота и польских дивизий, задействованных в Берлинской операции, насчитывали около 2,5 млн человек, до 42 тыс. орудий и минометов, более 6,2 тыс. танков и самоходных орудий, 7,5 тыс. самолетов. Это обеспечивало преобладание в силах над противником: в людях в 2,5 раза, в орудиях и минометах — в 4 раза, в танках и самоходных установках — в 4,1 раза, в авиации — в 2,3 раза.
По развитию хода Берлинской операции ее условно можно разделить на три этапа. Первый этап, продлившийся до 19 апреля 1945 г., включал в себя прорыв одерско-нейсенского рубежа обороны противника.
В 5 ч 16 апреля 1945 г., еще затемно, в зоне действия соединений 1-го Белорусского фронта началась артиллерийская и авиационная подготовка, а спустя 20 мин и общее наступление. Так началась Берлинская операция. В первые ее часы немецкие части, приведенные в замешательство и подавленные огнем артиллерии, не оказывали организованного сопротивления на переднем крае обороны. Советская пехота и танки продвинулись на 1,5—2 км. Вскоре, оправившись от потрясения, немецкие войска вернули себе способность сопротивляться с ожесточенным упорством. Соединения фронта были остановлены на Зееловских высотах, за которые шли самые кровопролитные бои.
Для организации обороны Берлина немецкое командование спешно формировало новые части. В январе—марте 1945 г. на военную службу были призваны даже молодежь и старики. Из них формировались штурмовые батальоны, отряды истребителей танков и части гитлерюгенд. Только в самом Берлине таких подразделений насчитывалось около 300. Немецкое командование стремилось любой ценой удержать оборону Берлина. Фашистское командование призывало солдат и офицеров сражаться с советскими частями «до последнего человека». Обращаясь к солдатам Восточного фронта, А. Гитлер призвал их во что бы то ни стало отразить наступление советских войск. В то же время он требовал расстреливать на месте каждого, кто осмелится отойти или отдать приказ об отходе.
В итоге упорных боев войска Красной армии к исходу 17 апреля прорвали вторую оборонительную полосу и уничтожили две промежуточные укрепленные позиции противника. 18 апреля Зееловские высоты были взяты советскими войсками.
Более успешно развивалось наступление войск 1-го Украинского фронта. Утром 16 апреля в результате мощной огневой обработки территории, занятой противником, были уничтожены многие укрепленные участки, узлы связи и командные пункты. Ударные отряды фронта оперативно форсировали реку Нейсе и захватили плацдармы на ее левом берегу. Превозмогая отчаянное сопротивление противника, общевойсковые и танковые объединения 1 -го Украинского фронта прорвали главную полосу обороны. 17 апреля войска фронта завершили прорыв второй и достигли укреплений третьей полосы обороны противника.
2-й Белорусский фронт перешел в наступление 18 апреля. В первые два дня войска фронта в сложных условиях форсировали Ост-Одер, очистили от противника плацдарм между реками Ост-Одер и Вест-Одер и заняли исходные позиции для форсирования Вест-Одера.
Таким образом, в целом в полосе действия всех советских фронтов сложились благоприятные предпосылки для продолжения Берлинской операции. С этого момента она перешла к своему второму этапу, продолжившемуся до 25 апреля. Наиболее успешно развивалось наступление в районе действия войск 1 -го Украинского фронта. После непродолжительных боев им удалось выйти к Берлину, одновременно охватывая правое крыло франкфуртско-губенской укрепленной группировки. В течение 19—20 апреля 3-я и 4-я гвардейские танковые армии продвинулись на 95 км. Стремительное наступление этих армий, а также 13-й армии уже к исходу 20 апреля привело к рассечению немецких войск на части и их частичному окружению в районе Котбуса и Шпремберга.
24 апреля юго-восточнее Берлина войска 8-й гвардейской, 3-й и 69-й армий 1-го Белорусского фронта, наступавшие на левом фланге ударной группировки, встретились с 3-й гвардейской танковой и 28-й армиями 1-го Украинского фронта. В результате франкфуртско-губенская группировка противника (9-я немецкая армия) была полностью окружена и в случае необходимости не смогла бы прийти на помощь берлинскому гарнизону.
Рейхстаг являлся одним из важнейших узлов сопротивления центрального сектора обороны Берлина. Подступы к нему прикрывались рекой Шпрее, многочисленными крупными каменными зданиями и простреливались огнем артиллерии. Здание Рейхстага было приспособлено к круговой обороне: все оконные и дверные проемы заделаны кирпичом, отверстия оставлены лишь для бойниц и амбразур. В нескольких метрах от здания находились железобетонные доты, а в 200 м проходили траншеи с пулеметными площадками и ходами сообщения, соединявшими траншеи с подвалом здания. Оборонял Рейхстаг гарнизон из нескольких тысяч офицеров и солдат, в том числе 1 тыс. моряков из морской школы г. Ростока, заброшенных в этот район Берлина на парашютах.
25 апреля правофланговые объединения ударной группировки 1-го Белорусского фронта соединились с войсками 1-го Украинского фронта западнее Берлина, завершив окружение всей берлинской группировки противника.
В этот же день передовые подразделения 1-го Украинского фронта встретились на берегу Эльбы в районе Торгау с разведгруппами 1-й американской армии генерала О. Брэдли. Немецкий фронт был рассечен. В честь этой победы Москва салютовала войскам 1-го Украинского фронта.
В это время войска 2-го Белорусского фронта форсировали Вест-Одер и прорвали оборону на его западном берегу. Они сковали 3-ю немецкую танковую армию и лишили ее возможности нанести удар с севера по советским войскам, окружавшим Берлин.
Начиная с 26 апреля войска Красной армии перешли к заключительной стадии Берлинской операции — уничтожению берлинской группировки противника.
27 апреля советские войска взяли Потсдам, находящийся в окрестностях Берлина, и овладели центральным железнодорожным узлом. 28 апреля они прорвали с севера оборону центрального сектора города, заняли район Маобит и вышли к Тиргартену. Положение немецких войск стало безнадежным. С 30 апреля из бомбоубежища Гитлера больше не поступало никаких приказов. В этот же день, как выяснилось позднее, он покончил жизнь самоубийством. В ночь на 29 апреля бойцы 79-го стрелкового корпуса (командующий генерал-майор С. Переверткин) 3-й ударной армии 1-го Белорусского фронта приступили к подготовке штурма сердца фашизма — здания Рейхстага.
Штурм начался 30 апреля. Первые атаки отрядов Красной армии были отражены противником. Лишь в 18 ч 30 мин под прикрытием артиллерийского огня советские воины ринулись в последнюю стремительную атаку на Рейхстаг. Подразделения 1-го стрелкового батальона 380-го стрелкового полка (командир старший лейтенант К. Самсонов), 1-го стрелкового батальона 756-го стрелкового полка (командир капитан С. Неустроев) и 1-го стрелкового батальона 674-го стрелкового полка (командир капитан В. Давыдов) через проломы в стенах ворвались в здание Рейхстага. Начались жаркие схватки за каждый этаж, за каждую комнату. На многих участках бои переходили в рукопашные схватки. 30 апреля над Рейхстагом заалело красное знамя, водруженное сержантами М. Егоровым и М. Кантария. Утром 2 мая командующий обороной Берлина генерал Г. Вейдлинг подписал приказ берлинскому гарнизону прекратить сопротивление и сложить оружие.
Победа в Берлинской операции далась Красной армии дорогой ценой. Потери 1-го Белорусского фронта составили более 37 тыс. человек убитыми и почти 142 тыс. ранеными. 2-й Белорусский фронт потерял около 13 тыс. воинов убитыми и 46 тыс. ранеными. 1-й Украинский фронт — соответственно около 28 тыс. и 86 тыс. человек. Польские войска потеряли около 9 тыс. человек убитыми и ранеными. Советские войска также потеряли 2156 танков и самоходных артиллерийских установок, 1220 орудий и минометов, 527 самолетов.
Точные данные о потерях со стороны немецких войск до сих пор не определены. Известно лишь, что в ходе Берлинской операции советские войска разгромили 70 пехотных, 23 танковые и моторизованные дивизии, взяли в плен около 480 тыс. солдат и офицеров, захватили до 11 тыс. орудий и минометов, свыше 1,5 тыс. танков и штурмовых орудий, 4,5 тыс. самолетов.
9 июня 1945 г. Указом Президиума Верховного Совета СССР в честь взятия столицы нацистской Германии, произошедшего на заключительном этапе Великой Отечественной войны, была учреждена медаль «За взятие Берлина». Этой награды удостаивались советские военнослужащие, принимавшие непосредственное участие в штурме Берлина, а также организаторы и руководители боевых операций при взятии города. Всего медалью «За взятие Берлина» было награждено около 1,1 млн человек.