

К апрелю 1945 года наступающие советские войска вышли на рубеж Одера и Нейсе, а в районе Кюстрина захватили плацдарм на западном берегу Одера. От него до Берлина оставалось около 60 километров — началась подготовка к штурму. В операции должны были принять участие три советских фронта. Город предполагалось брать соединениями 1-го Белорусского фронта маршала Г.К. Жукова. 2-й Белорусский фронт маршала К.К. Рокоссовского наступал севернее, вдоль побережья Балтийского моря, и должен был прикрыть войска 1-го Белорусского от фланговых ударов. Южнее Берлина действовал 1-й Украинский фронт маршала И.С. Конева.
Противостояла наступавшим советским войскам группа армий «Висла» генерал-полковника Готхарда Хайнрици. Она включала 9-ю армию генерала от инфантерии Теодора Буссе, непосредственно прикрывавшую город, и 3-ю танковую армию генерала танковых войск Хассо фон Мантойфеля, действовавшую несколько севернее. Южнее Берлина, на левом (северном) фланге группы армий «Центр» генерал-фельдмаршала Фердинанда Шёрнера оборонялась 4-я танковая армия генерала танковых войск Фрица-Хуберта Грезера. Непосредственно город и ближние подступы к нему защищали многочисленные подразделения фольксштурма и прочих военизированных формирований. Уже в ходе сражения, 24 апреля, южнее Берлина в бой была введена 12-я армия генерала танковых войск Вальтера Венка.
Советское командование выделило для штурма Берлина лучшие соединения, вооружённые новой техникой. В составе 1-го Белорусского и 1-го Украинского фронтов, наносящих главный удар, действовали 15 общевойсковых армий, тараном должны были выступить четыре танковые армии. Много мехчастей и кавалерии было придано и общевойсковым армиям. С воздуха действия двух фронтов должны были обеспечивать 16-я и 2-я воздушные армии, а также дальние бомбардировщики 18-й воздушной армии. Общая численность группировки (все три фронта) составляла более чем 2,3 миллиона человек, свыше 6000 танков и 7500 боевых самолётов.
Численность немецкой группировки подсчитать сложнее: в неразберихе последних недель существования Третьего рейха подразделения сколачивались из любых резервов, иногда без отражения в документах. Общая численность обороняющихся оценивается в пределах от 850 тысяч до 1 миллиона человек военнослужащих вермахта и СС, фольксштурма, полицейских и прочих вспомогательных частей, 1500 танков, а также от 2200 до 3000 боевых самолётов. Достоверно оценить подготовку немецких солдат, а также боеспособность авиации и мехчастей в условиях кризиса снабжения сложно, однако в любом случае это была огромная сила, занявшая тщательно подготовленные оборонительные рубежи.
В 05:00 16 апреля 1945 года с мощной получасовой артподготовки началось наступление 1-го Белорусского фронта с Кюстринского плацдарма против немецких позиций на Зееловских высотах. Оно осуществлялось при помощи почти 150 мощных прожекторов, направленных в сторону врага. После двух суток кровопролитных боёв высоты были частично захвачены, а частично обойдены. К 21 апреля войска фронта вышли к городским окраинам, завязали там бои и двинулись к центру Берлина.
Войска 1-го Украинского фронта, перейдя в наступление в то же утро 16 апреля, действовали более успешно, поэтому их переориентировали на удар по городу с юга вместо его охвата. К вечеру 20 апреля войска фронта рассекли немецкую оборону надвое на стыке групп армий «Висла» и «Центр». К 22 апреля они вышли на берег Тельтов-канала на окраине Берлина, а 24 апреля его форсировали. Дальнейшее наступление 1-й Украинский фронт вёл на трёх направлениях: продвигаясь к центру Берлина, его войска одновременно отражали контрудары 12-й и 4-й танковой армий немцев, а также уничтожали группировку немецкой 9-й армии, которая попала в окружение юго-восточнее Берлина и была отрезана от города сомкнувшимися войсками 1-го Украинского и 1-го Белорусского фронтов. Лишь немногим из солдат 9-й армии удалось прорваться на запад и сдаться в плен американцам.
К обеду 25 апреля части 1-го Украинского и 1-го Белорусского фронтов создали новое кольцо — на этот раз вокруг самого Берлина. В городе оказалось заперто около 200 тысяч немецких солдат при 3000 орудий и 250 танках. Непосредственно Берлин штурмовали пять общевойсковых и четыре танковые армии, войска которых, стараясь действовать небольшими группами, в упорных боях очищали от врага квартал за кварталом. Советская группировка насчитывала более 450 тысяч человек и 1500 танков и САУ. Баррикады и завалы, огневые точки, оборудованные на верхних этажах и в подвалах, превращали буквально каждое здание в опорный пункт, требовавший штурма.
В ночь с 30 апреля на 1 мая немцы выступили с инициативой о временном перемирии, однако это предложение не было поддержано советским командованием. В свою очередь, требование советского командования о безоговорочной капитуляции отвергло уже немецкое правительство Карла Дёница, созданное после самоубийства Гитлера. К вечеру 1 мая боевые действия возобновились, но утром 2 мая сдался в плен командующий обороной города генерал артиллерии Гельмут Вейдлинг, в 07:00 подписавший приказ о капитуляции гарнизона. К вечеру большинство обороняющихся сложили оружие. Штурм Берлина закончился — через считанные дни советские сапёры начали разминирование города, а военная администрация организовала раздачу продовольствия жителям.
Особую роль в операции играли танковые соединения. В составе двух нацеленных непосредственно на Берлин фронтов было четыре танковых армии: 1-я гвардейская (генерал-полковник М.Е. Катуков), 2-я гвардейская (генерал-полковник С.И. Богданов), 3-я гвардейская (генерал-полковник П.С. Рыбалко) и 4-я гвардейская (генерал-полковник Д.Д. Лелюшенко). На фронт поступало всё больше тяжёлых ИС-2, но основу танковых частей составляли Т-34-85 и «Шерманы» M4. Аналогично обстояли дела в самоходной артиллерии – вместе с ИСУ-152 и СУ-100 в бой шло большое количество СУ-76 и СУ-85.
На подступах к Берлину советские танкисты во многом действовали так, как четырьмя годами ранее поступали немцы: таранили оборону противника, после чего в прорыв вводилась пехота. Однако непосредственно в городе экипажи «исов» и «тридцатьчетвёрок» попали в тяжёлую ситуацию. В плотной застройке, насыщенной средствами ПТО и прежде всего фаустпатронами, действуя зачастую без поддержки пехоты, советские танкисты несли большие потери, тем не менее, выполняя поставленные задачи. Соответственно распределились и боевые потери: если на подступах к городу большая часть машин была потеряна от огня артиллерии, то непосредственно на улицах Берлина на первое место вышли ручные противотанковые гранатомёты и мины.
Советская авиационная группировка, собранная для участия в операции, была необычайно мощной: в трёх воздушных армиях, дивизиях ПВО и дальней авиации насчитывалось около 7500 боевых самолётов. Истребительные полки в значительной степени были вооружены новыми Як-3, Як-9У и Ла-7. Ударная авиация была представлена штурмовиками Ил-2 и первыми Ил-10, а также бомбардировщиками Пе-2, Ту-2 и A-20. Господство в воздухе было настолько полным, что действующие по ночам лёгкие По-2 и самолёты дальней авиации Ил-4, Ер-2 и B-25 летали и днём. За операцию советская авиация совершила около 90 000 боевых вылетов.
На Берлинском направлении немцы теоретически могли задействовать, по разным данным, от 2000 до 3000 самолётов. Но топливный кризис из-за потери заводов по производству авиабензина приковал к земле фактически все бомбардировщики, поэтому на задания летали в основном истребители «Мессершмитт» Bf 109G/K и истребители-бомбардировщики Fw 190A/D поздних моделей. Последние и взяли на себя борьбу с советскими наземными войсками. Изредка советским лётчикам встречались реактивные «Мессершмитты» Me 262, которые были малоуязвимы для поршневых «Яков», «Ла» и «Аэрокобр», но и сами не могли оказать существенного влияния на противостояние в воздухе. Также к концу войны катастрофически упал уровень подготовки лётчиков люфтваффе, поэтому немецкая авиационная группировка, хотя и способна ещё была доставить советским лётчикам неприятные моменты, значительной роли в операции не сыграла. Традиционно сильным противником была немецкая артиллерия ПВО.
25 апреля юго-западнее Берлина в районе городка Торгау на Эльбе произошло неизбежное — передовые части 58-й гвардейской стрелковой дивизии 5-й гвардейской армии 1-го Украинского фронта встретились с наступающими подразделениями 69-й пехотной дивизии 1-й армии США. Для немцев это означало рассечение контролировавшейся ими территории на северную и южную части. Позже в соприкосновение с союзниками вошли и части 1-го и 2-го Белорусских фронтов.
Как правило, встречи союзников проходили с большим воодушевлением и сопровождались торжественными мероприятиями, митингами, а также обменом сувенирами. Не обходилось и без недоразумений: были зафиксированы перестрелки между передовыми частями. В большинстве своём они были вызваны недостатком информации о передвижениях противника и союзников. До начала холодной войны оставалось совсем немного, но пока американские, советские и британские солдаты искренне жали друг другу руки и вместе позировали перед объективами фотокамер.
Потери Красной армии и Войска Польского в ходе Берлинской операции составили порядка 360 тысяч человек, из них около 80 тысяч безвозвратно. Также было потеряно около 2000 танков и САУ и примерно 900 боевых самолётов. Потери противника поддаются учёту хуже и составляют от примерно 400 тысяч убитых и 380 тысяч попавших в плен по советским оценкам до 114 тысяч убитых, 220 тысяч раненых и 480 тысяч пленных по западным источникам.
В ходе Берлинской операции Красная армия разгромила крупнейшую группировку противника, взяла в плен многих представителей высшего военного и политического руководства Германии и захватила её столицу. Падение Берлина положило конец организованному сопротивлению вермахта – до подписания Акта о безоговорочной капитуляции Германии оставались считанные дни.