Всего 1-й и 2-й Белорусские и 1-й Украинский фронты насчитывали 2,5 млн. человек, 41 600 орудий и минометов, 6250 танков и самоходных орудий, 7500 самолетов (с учетом авиации дальнего действия). Это обеспечивало преобладание в силах над противником: в людях в 2,5 раза, в орудиях и минометах — в 4 раза, в танках и самоходных установках — в 4,1 раза, в авиации — в 2,3 раза. (История второй мировой войны, 1939–1945. Т. 10. М., 1879. С. 314–315.)
Замысел советского командования предусматривал мощными ударами войск трех фронтов прорвать оборону противника по Одеру и Нейсе и, развивая наступление в глубину, окружить основную группировку немецких войск на берлинском направлении, одновременно расчленить ее на несколько частей и уничтожить, в дальнейшем выйти к Эльбе.
1-й Белорусский фронт, нанося главный удар с Кюстринского плацдарма, имел задачу разгромить противника на подступах к Берлину, овладеть им и на 12-15-й день после начала операций выйти на Эльбу.
1-й Украинский фронт получил задачу разгромить немецкие войска в районе Котбуса и южнее Берлина. На 10-12-й день после начала; наступления овладеть рубежом Белиц, Виттенбург и далее по Эльбе до Дрездена.
2-й Белорусский фронт должен был форсировать Одер, разгромить штеттинскую группировку противника и не позднее чем через 12–15 дней с начала операции овладеть рубежом Анклам, Деммин, Мальхин, Виттенберг. Этим обеспечивались действия 1-го Белорусского фронта с севера.
Балтийский флот получил задачу прикрыть приморский фланг 2-го Белорусского фронта, обеспечить блокаду курляндской группировки противника и нарушать его морские коммуникации. Днепровская военная флотилия, действовавшая в полосе 1-го Белорусского фронта, (должна была содействовать войскам 5-й ударной армии и 8-й гвардейской армии в переправе через Одер и прорыве обороны противника на Кюстринском плацдарме, а 33-й армии — в районе Фюрстенберга и обеспечить противоминную оборону водных путей. Основные усилия авиации сосредоточивались на направлениях главных ударов. (Великая Отечественная война. 1941–1945. Энциклопедия. С. 95.)
По характеру выполнения задач и результатам Берлинская операция делится на три этапа.
Первый этап — прорыв одерско-нейсенского рубежа обороны немцев (16–19 апреля). В 5 часов утра (по московскому времени) 16 апреля после мощной артиллерийской подготовки и ударов авиации перешли в наступление войска 1-го Белорусского фронта. Началась Берлинская операция. Противник, подавленный огнем артиллерии, не! оказал организованного сопротивления на переднем крае, но затем, оправившись от потрясения, сопротивлялся с ожесточенным упорством.
Советская пехота и танки продвинулись на 1,5–2 км. В сложившейся обстановке, чтобы ускорить продвижение войск, маршал Жуков ввел в сражение танковые и механизированные корпуса 1-й и 2-й гвардейских танковых армий. Однако противник продолжал ожесточенное сопротивление. Командование 9-й немецкой армии бросило в сражение две моторизованные дивизии — 25-ю и «Курмарк». Подвижные корпуса 1-й и 2-й гвардейских танковых армий не смогли оторваться от пехоты и ввязались в изнурительные бои. Войскам фронта пришлось последовательно прорывать несколько полос обороны. Противник неоднократно предпринимал яростные контратаки. В итоге упорных боев войска ударной группировки фронта к исходу 17 апреля прорвали вторую оборонительную полосу и две промежуточные позиции.
Темпы наступления войск 1-го Белорусского фронта оказались ниже запланированных, что ставило, по мнению Ставки ВГК, под угрозу выполнение плана на окружение берлинской группировки. В результате принятых командующим фронтом мер войска ударной группировки к исходу 19 апреля прорвали третью оборонительную полосу и за четыре дня продвинулись на глубину до 30 км, получив возможность наступать на Берлин и в обход его с севера. Немецкие войска отошли на внешний обвод Берлинского района обороны. На левом крыле фронта создавались условия для обхода франкфуртской группировки противника с севера и отсечения ее от Берлина.
Успешно развивалось наступление войск 1-го Украинского фронта. В 6 часов 15 минут 16 апреля началась артиллерийская подготовка. Бомбардировщики и штурмовики наносили сильные удары по узлам сопротивления, узлам связи и командным пунктам. Батальоны дивизий первого эшелона быстро форсировали реку Нейсе и захватили плацдармы на ее левом берегу. Немецкое командование ввело в сражение из своего резерва до трех танковых дивизий и танково-истребительную бригаду. Бои приняли ожесточенный характер. Ломая сопротивление противника, общевойсковые и танковые объединения 1-го Украинского фронта прорвали главную полосу обороны. 17 апреля войска фронта завершили прорыв второй полосы и подошли к третьей, проходившей по левому берегу р. Шпрее.
Успешное наступление 1-го Украинского фронта создавало для противника угрозу обхода его берлинской группировки с юга. Немецкое командование концентрировало свои усилия с целью задержать дальнейшее продвижение советских войск на рубеже р. Шпрее. Сюда были направлены резервы группы армий «Центр» и отошедшие войска 4-й танковой армии. (История второй мировой войны, 1939–1945. Т.6. С. 331.) Но попытки противника изменить ход сражения успеха не имели.
Ставка ВГК приказала маршалу Коневу повернуть 3-ю и 4-ю гвардейские танковые армии генералов П. С. Рыбалко и Д. Д. Лелюшенко на север для наступления на Берлин с юга. 18 апреля они совместно с 13-й армией форсировали Шпрее и развернули наступление на столицу рейха, обеспечив условия ее окружения с юга. На дрезденском направлении 52-я армия отражала контрудары противника из района севернее Гёрлица.
2-й Белорусский фронт перешел в наступление 18 апреля. 18–19 апреля войска фронта в сложных условиях форсировали Ост-Одер, очистили от противника низину между Ост-Одер и Вест-Одер и заняли исходные позиции для форсирования Вест-Одер.
Таким образом, в полосе всех фронтов сложились благоприятные предпосылки для продолжения операции.
Второй этап — окружение и расчленение войск противника (19–25 апреля).
Наиболее успешно развивалось наступление войск 1-го Украинского фронта. Они вышли на оперативный простор и устремились к Берлину, охватывая правое крыло франкфуртско-губенской группировки. 19–20 апреля 3-я и 4-я гвардейские танковые армии продвинулись на 95 км. Стремительное наступление этих армий, а также 13-й армии уже к исходу 20 апреля привело к отсечению группы армий «Висла» от группы армий «Центр»; немецкие войска в районе Котбуса и Шпрейберга оказались в полуокружении. 21 апреля танкисты генералов Рыбалко и Лелюшенко достигли южного участка внешнего берлинской оборонительного обвода. 22 апреля соединения 3-й гвардейской танковой армии прорвали внешний оборонительный обвод и пробились к южной окраине Берлина. В этот же день 4-я гвардейская танков армия также прорвала внешний оборонительный обвод и заняла выгодные позиции для соединения с войсками 1-го Белорусского фронта и завершения совместно с ними окружения всей немецкой берлинской группировки. Используя успех танкистов, общевойсковые армии группировки фронта быстро продвигались в западном направлении. Противник пытался наносить контрудары. Вновь сформированную 12-ю армию генерала В. Венка, которая была предназначена для действий на рубеже Эльбы против американских войск, немецкое командование решило использовать против войск 1-го Украинского фронта. Эта армия получила приказ наступать в направлении Ютербог, чтобы соединиться с пытавшимися пробиться из окружения на запад частями 9-й немецкой армии и частью сил 4-й танковой армии. Еще 19 апреля группировка противника (2 пехотные, 2 танковые и полумоторизованная дивизии) перешла в наступление из района Гёрлицы, прорвала фронт 52-й армии и вышла в тыл 2-й армии Войска Польского 20–26 апреля наступление противника, продвинувшегося в направлении Шпремберга, было остановлено.
Войска 1-го Белорусского фронта продолжали наступление. 20 апреля, на пятый день операции, дальнобойная артиллерия 79-го стрелкового корпуса 3-й ударной армии генерал-полковника В. И. Кузнецов открыла огонь по Берлину. 21 апреля передовые части фронта ворвались на северную и юго-восточную окраины немецкой столицы.