Времени на подготовку оставалось мало — 14–15 дней. Темпы наступления определялись для общевойсковых армий — 8 — 14 км, для танковых — 30–37 км в сутки. Устанавливалась высокая плотность танков и артиллерии на участках прорыва. Так, в 1-м Белорусском фронте она достигала 20–44 танков и САУ и 300 орудий и минометов на 1 км. Глубина поражения противника во время артиллерийской подготовки составляла 10–12 км и более. Для авиационного обеспечения операции, помимо 16-й воздушной армии 1-го Белорусского фронта, привлекалась авиация соседа справа (4-я воздушная армия) — до начала его наступления и 18-я воздушная армия авиации дальнего действия. На время прорыва тактической зоны обороны противника авиационные соединения поддерживали общевойсковые армии, а с вводом в сражение танковых армий и корпусов переключались на их поддержку. Для этой цели выделялось до 75 процентов сил авиации (док. № 101, 135, 143).
Днепровской военной флотилии ставилась задача поддержать наступающие войска и содействовать их переправе через реки, обеспечивать водные коммуникации войск, производить высадку десантов, обеспечивать конвоирование воинских грузов, перевозимых водным путем, Для более тесного взаимодействия флотилия побригадно распределялась между 5-й ударной, 8-й гвардейской и 33-й армиями (док. № 144).
По характеру выполняемых задач и результатам Берлинская операция делится на три этапа.
На первом этапе (16–19 апреля) войска 1-го Белорусского и 1-го Украинского фронтов прорвали одерско-нейсенский оборонительный рубеж, а 2-й Белорусский фронт завершил перегруппировку и проводил разведку боем.
На втором этапе (19–25 апреля) войска 1-го Белорусского и 1-го Украинского фронтов по дополнительным указаниям Ставки ВГК окружили и расчленили берлинскую группировку врага.
На третьем этапе (26 апреля — 8 мая) окруженные войска противника были уничтожены. Советские войска овладели Берлином и соединились с союзниками. Германия капитулировала.
За два дня до начала наступления войск 1-го Белорусского фронта была проведена разведка боем. 32 разведывательных отряда в течение двух суток (14 и 15 апреля) уточняли огневую систему обороны врага, его группировки, определяли сильные и наиболее уязвимые места обороны (док. № 27, 283, 287). Противник принял эту разведку за начало наступления. В результате действий разведотрядов некоторые немецкие части были выбиты из первых позиций, а в отражении этого наступления участвовала почти вся немецкая артиллерия. Противник начал поспешно подтягивать на вторую позицию свои резервы, но советские войска неожиданно прекратили продвижение и закрепились на достигнутых рубежах. Это озадачило германский генштаб.
Противник во время нашей разведки боем часть войск отвел на вторую полосу — на Зееловские высоты, где сосредоточил основные силы. Командование фронта переоценило результаты боев 14–15 апреля и, не заметив этого отвода войск противника, сократило продолжительность артподготовки с 30 до 20–25 минут.
16 апреля в 3 часа по местному времени началась авиационная и артиллерийская подготовка. Оборона немцев подавлялась на глубину до 8 км, а отдельные узлы сопротивления — до 10–12 км. После окончания авиационной артподготовки были включены 143 прожектора, и пехота, поддержанная танками, атаковала противника. Не встречая сильного сопротивления, она продвинулась на 1,5–2 км. Одновременно 745 бомбардировщиков 18-й воздушной армии нанесли удар по Зееловским высотам. С утра начала действовать 16-я воздушная армия, нанося удары небольшими группами самолетов, так как погода затрудняла массированное использование авиации (док. № 143). С рассветом сопротивление противника стало возрастать. Для повышения темпов наступления были введены вторые эшелоны стрелковых дивизий, а в 10 часов — подвижная группа 3-й ударной армии — 9-й танковый корпус.
Однако чем ближе подходили наши войска к Зееловским высотам, тем сильнее нарастало сопротивление врага. Этот естественный рубеж господствовал над окружающей местностью, имел крутые скаты и являлся во всех отношениях серьезным препятствием на пути к Берлину. Сплошной стеной стоял он перед главной ударной группировкой 1-го Белорусского фронта, закрыв собой плато, на котором должно было развернуться сражение на ближних подступах к Берлину. Именно у подножья Зееловских высот и на них немцы сосредоточили наибольшее количество сил и средств.
С целью усиления натиска маршал Г. К. Жуков во второй половине дня ввел в сражение обе танковые армии. Их передовые отряды, нарастив усилия общевойсковых армий, завершили прорыв первой полосы обороны. Однако, подойдя к Зееловским высотам, общевойсковые и танковые армии встретили неподавленную оборону противника.
За первый день наступления войска фронта продвинулись всего на 3–8 км и прорвать оборону на Зееловских высотах не смогли. Наличие сильной обороны противника потребовало перегруппировки артиллерии и проведения новой артиллерийской и авиационной подготовки, а это планом предусмотрено не было. Не был отработан и вариант допрорыва танковыми армиями тактической обороны немцев. Преждевременный ввод танковых объединений создал хаос в оперативном построении общевойсковых армий, вызвал нарушение их тыловых коммуникаций, неразбериху в управлении войсками (док. № 43–46). Весьма противоречивыми оказались оценки эффективности примененного войсками тактического приема — использования прожекторов для ослепления противника (док. № 42).
Вечером 16 апреля маршал Г. К. Жуков приказал армиям продолжать наступление ночью и к утру прорвать вторую полосу обороны, для чего сосредоточить на участках прорыва 250–270 стволов на 1 км фронта и провести 30 — 40-минутную артиллерийскую подготовку (док. № 31). При этом он потребовал от командармов не втягиваться в затяжные бои за сильные опорные пункты противника, а обходить их, передавая задачу уничтожения гарнизонов последнего частям второго и третьего эшелонов армий. Танковым армиям было приказано с утра 17 апреля организовать эффективное взаимодействие с пехотой.
Лишь к исходу 17 апреля войска фронта преодолели вторую полосу. Через два дня был окончательно прорван одерский рубеж обороны немцев. В ходе наступления маршал Г. К. Жуков ввел в прорыв 7-й гвардейский кавалерийский корпус, который должен был во взаимодействии со 2-й гвардейской танковой армией овладеть северовосточной частью Берлина.
В итоге четырехдневной ожесточенной борьбы войска 1-го Белорусского фронта продвинулись на глубину до 34 км, разгромив 15 дивизий первого эшелона и резерва немцев. Глубокая оборона, заранее занятая войсками, высокие плотности сил и средств противника, многочисленные контратаки потребовали от советских войск огромного напряжения сил. Поэтому каждый день наступления начинался мощной авиационной и артиллерийской подготовкой продолжительностью до 30–40 минут. Происходило своеобразное «прогрызание» обороны (док. № 283, 284, 287).
Наступлению главных сил 1-го Украинского фронта также предшествовала разведка боем силами стрелковых рот, выделенных из дивизий первого эшелона. В ночь на 16 апреля они переправились через Нейсе и атаковали противника, установив, что тот прочно обороняет позиции вдоль реки. С рассветом началась артиллерийская и авиационная подготовка. Одновременно была поставлена дымовая завеса. Инженерные войска приступили к наводке понтонных мостов грузоподъемностью 16 и 30 т. С окончанием артиллерийской подготовки начали переправу на подручных средствах стрелковые батальоны. Через 1–2 часа были наведены понтонные, а через 4–5 часов собраны 60-тонные низководные мосты для переправы артиллерии и танков. К концу дня ударная группировка фронта прорвала первую полосу обороны и на 1–1,5 км вклинилась во вторую (док. № 103).
Несмотря на ввод немцами свежих резервов (в том числе четырех танковых дивизий), ударная группировка фронта прорвала и вторую полосу обороны. Противник начал отход за р. Шпрее. Маршал И. С. Конев 17 апреля отдал приказ войскам «на плечах противника» форсировать Шпрее и «открыть безостановочный путь на Берлин» (док. № 104).
Именно в этот день Ставка ВГК приказала маршалу И. С. Коневу двумя танковыми армиями нанести удар на Берлин с юга.
На следующий день получил директиву и маршал К. К. Рокоссовский о развитии наступления главными силами на юго-запад и нанесении удара в обход Берлина с севера (док. № 132). Учитывая «заминку» армий маршала Г. К. Жукова и успех 1-го Украинского фронта, Ставка ВГК приняла решение об окружении города силами трех фронтов, что планом операции не предусматривалось.
Во исполнение указания Верховного Главнокомандования командующий войсками 1-го Украинского фронта приказал командующим 3-й и 4-й гвардейскими танковыми армиями в течение ночи форсировать р. Шпрее и развивать стремительное наступление на Берлин с юга, с тем чтобы в ночь с 20 на 21 апреля ворваться в город и овладеть соответственно его южной и юго-западной частью (док. № 106).