Днепровская военная флотилия (командующий — контр-адмирал В. В. Григорьев), оперативно подчиненная командующему войсками 1-го Белорусского фронта, должна была оказать содействие сухопутным войскам в прорыве обороны, организовать переправы и обеспечить противоминную оборону по Одеру.
Действия наземных войск с воздуха поддерживали: на 2-м Белорусском фронте — 4-я воздушная армия (командующий — генерал-полковник авиации К. А. Вершинин), 1-м Белорусском — 16-я воздушная армия (командующий — генерал-полковник авиации С. И. Руденко) и 1-м Украинском — 2-я воздушная армия (командующий — генерал-полковник авиации С. А. Красовский). Кроме того, в полосе 1-го Белорусского фронта действовали соединения 18-й воздушной армии (командующий — главный маршал авиации А. Е. Голованов).
По плану Ставки ВГК, предварительная авиационная подготовка должна была проводиться в течение трех ночей только в полосе 2-го Белорусского фронта. Непосредственная авиационная подготовка намечалась в полосе 2-го Белорусского фронта в течение двух часов, в полосе 1-го Белорусского фронта — в течение 30 минут до начала атаки, в полосе 1-го Украинского фронта — в течение 45 минут перед форсированием реки Нейсе.
Для борьбы с авиацией противника и противовоздушной обороны войск привлекались истребительная авиация воздушных армий, соединения и части зенитной артиллерии фронтов. Кроме того, для прикрытия фронтовых объектов и переправ через Одер использовались 4-й, 5-й корпуса Западного и 1-й корпус Юго-Западного фронтов ПВО страны.
Ставка Верховного Главнокомандования рассматривала наступление на главном — берлинском — направлении как элемент общего стратегического наступления Красной Армии на всем советско-германском фронте.
Проведению Берлинской операции советских войск предшествовала тщательная подготовка и Крупные перегруппировки.
Подготовка к решительному наступлению была многогранной. Во всех фронтах были разработаны и успешно осуществлены планы по оперативной маскировке. Разведывательная авиация шесть раз производила аэрофотосъемку Берлина, подступов к нему и оборонительных полос. Большое внимание уделялось инженерному оборудованию исходного района для наступления. Так, на «ключевом» Кюстринском плацдарме в полосе наступления войск 1-го Белорусского фронта было подготовлено 636 км траншей и ходов сообщения, оборудовано 4500 позиций для артиллерии, а для сообщения с плацдармами через Одер построено 25 мостов общей протяженностью до 15 км, подготовлено 40 паромных переправ.
В сравнительно короткие сроки были созданы запасы боеприпасов, горючего, смазочных материалов, продовольствия, медикаментов. Проводилась разносторонняя подготовка войск. Части и соединения пополнялись личным составом, совершенствовали навыки в форсировании водных преград, ведении боевых действий в различных условиях суток и местности. Отрабатывалось взаимодействие родов войск, особенно в условиях уличных боев в крупном городе.
Накануне операции в полосе 1-го Белорусского (14–15 апреля) и 1-го Украинского фронтов (15 апреля) проводилась разведка боем. В ходе двухдневных боев подразделения и части 1-го Белорусского фронта вклинились в оборону противника местами до 5 км. Однако полученные в результате разведки боем данные о мероприятиях, проводимых противником, должным образом не были учтены, особенно в вопросах артиллерийского и авиационного обеспечения операции, что отрицательно сказалось на ходе боевых действий по прорыву тактической зоны обороны противника.
Рано утром 16 апреля главные силы 1-го Белорусского и 1-го Украинского фронтов при поддержке авиации 16-й и 2-й воздушных армий перешли в наступление. В течение ночи накануне операции в полосе 1-го Белорусского фронта действовала авиация 4-й и 16-й воздушных армий, а после перехода войск в наступление четыре авиационных корпуса 18-й воздушной армии нанесли удар по опорным пунктам второй полосы обороны противника.
Пехотные части и танки 1-го Белорусского фронта начали атаку перед рассветом при свете мощных зенитных прожекторов и продвинулись на 1,5–2 км, не встретив сильного сопротивления противника. Удар советских войск был во многом неожиданным для противника. Однако, оправившись от первого потрясения, немецкие войска оказали ожесточенное сопротивление. Развернулись тяжелые бои. Темп наступления советских войск резко снизился.
Для преодоления паузы в наступлении и ускорения продвижения войск командующий войсками 1-го Белорусского фронта в первый же день ввел в сражение 1-ю и 2-ю гвардейские танковые армии. Однако они втянулись в упорные бои и не смогли в полной мере использовать присущую им подвижность и ударную силу. Войскам ударной группировки фронта пришлось последовательно, шаг за шагом прорывать несколько полос глубоко эшелонированной обороны противника. Оборону противника у Зееловских высот удалось прорвать лишь к исходу 17 апреля.