Берлинское направление обороняли войска групп армий «Висла» и «Центр» под командованием генералов Г. Хейнрици и Ф. Шернера. 5 апреля Гитлер присвоил последнему звание генерал-фельдмаршала. Войска, сосредоточенные на этом направлении от Балтики до Карпат, насчитывали около 1 миллиона личного состава, 1,5 тысячи танков и штурмовых орудий, 10,4 тысячи орудий и минометов. Их поддерживали основные силы люфтваффе в количестве 3,3 тысячи боевых самолетов, в том числе 120 только что появившихся реактивных истребителей Ме-262.
Советским войскам предстояла тяжелая борьба, особенно 1-му Белорусскому фронту. Против кюстринского плацдарма на р. Одер, захваченного войсками этого фронта, на участке 44 км генерал Хейнрици сосредоточил 14 дивизий. В среднем на каждый километр приходилось 60 немецких орудий и минометов, 17 танков и штурмовых орудий. Самый мощный узел сопротивления на пути к Берлину немцы оборудовали на Зееловских высотах. Их крутые, изрезанные оврагами склоны, которые возвышались над широкой долиной Одера в 10–12 км от кюстринского плацдарма, танки могли преодолеть только по дорогам. Фронту предстояло прорвать подготовленную и заранее занятую войсками оборону противника общей глубиной около 100 км. В то же время 2-му Белорусскому и 1-му Украинскому фронтам противостояли значительно меньшие силы, оборона которых имела глубину не более 40 км.
Наступление советских войск осложняли весеннее половодье и распутица. В первую очередь это касалось 2-го Белорусского фронта, который должен был начинать прорыв обороны с форсирования Одера. Река здесь имела два рукава, Ост-Одер и Вест-Одер, разделенные двухкилометровой поймой. Залитое половодьем междуречье допускало движение только по дамбам. Для 1-го белорусского фронта значение Одера как водной преграды снижалось наличием кюстринского плацдарма. Однако на коротком пути к Берлину его войскам нужно было продвигаться по густонаселенной местности с множеством каменных построек. В полосе предстоящих действий 1-го Украинского фронта основными естественными преградами были реки Нейсе и Шпрее, не говоря уже о сплошных лесных массивах.
Разгром мощной группировки противника на берлинском направлении в сжатые сроки требовал больших усилий. Кроме войск трех фронтов к проведению Берлинской операции привлекались части сил 18-й воздушной армии Дальней авиации, войск противовоздушной обороны страны, Балтийского флота и Днепровская военная флотилия. Всего в составе ударной группировки советских войск насчитывалось 2,5 миллиона человек личного состава, 41,6 тысячи орудий и минометов, 6250 танков и самоходных артиллерийских установок, 7,5 тысячи боевых самолетов. Никогда еще за всю войну столь большое количество сил и средств не сосредоточивалось для наступления в такой узкой полосе, общая ширина которой составляла всего 385 км.
В результате решительной концентрации сил и средств советское командование на берлинском направлении добилось существенного превосходства над противником. Они превосходили вражеские войска в личном составе в два с половиной раза, по численности артиллерии и танков — в четыре, а самолетов — более чем вдвое.
Основная роль в предстоящей операции отводилась 1-му Белорусскому фронту. Его войсками командовал маршал Советского Союза Г.К. Жуков, который одновременно являлся заместителем Верховного Главнокомандующего Вооруженных сил СССР И. В. Сталина. Наступая по кратчайшему пути на столицу Рейха, войска фронта наносили три удара. На направлении главного удара, который Г.К. Жуков планировал с кюстринского плацдарма, наступали четыре общевойсковые и две танковые армии. Они уже на шестой день операции должны были взять Берлин. Севернее и южнее плацдарма наносили удары по две общевойсковые армии. Отрезая противника от Берлина, они должны были на одиннадцатый день операции выйти к Эльбе на соединение с союзниками.
С войсками маршала Г.К. Жукова тесно взаимодействовали 1-й Украинский и 2-й Белорусский фронты, возглавляемые маршалами И.С. Коневым и К.К. Рокоссовским. 2-й Белорусский фронт должен был ударом трех армий из района южнее Штеттина отсечь противника от Берлина в Западной Померании и уничтожить его. Войскам И.С. Конева предстояло нанести два удара: главный — силами трех общевойсковых и двух танковых армий южнее Берлина, а вспомогательный — двумя армиями на Дрезден. При этом, на всякий случай, Ставка приказала И.С. Коневу предусмотреть поворот танковых армии на север, чтобы в случае необходимости помочь войскам 1-го Белорусского фронта в овладении Берлином.
Такое решение вполне устраивало И.С. Конева. «Разумеется, это было моим страстным желанием, — писал он после войны об ударе на Берлин. — Не боюсь в этом признаться и сейчас».
Однако и командующий 1-м Белорусским фронтом Г. К. Жуков делиться славой в овладении столицей Германии с соседом не хотел. Вернувшись из Москвы, он изменил задачу танковым армиям, которые, согласно только что полученной директиве Ставки от 2 апреля, должны были обходить Берлин с севера. Жуков приказал 1-й гвардейской танковой армии наступать южнее города, чтобы уже на второй день выйти к нему, а затем на западной окраине соединиться со 2-й гвардейской танковой армией, которая наносила главный удар севернее столицы. С военной точки зрения изменение задачи танковой армии было вполне обоснованным. Она могла быстрее общевойсковых армий выйти на южную окраину Берлина и лишить гарнизон противника возможности получать помощь с юга. С политической точки зрения Г.К. Жуков стремился помешать танковым армиям 1-го Украинского фронта выйти к городу и ввязаться в бои за Берлин.
И.В. Сталин, хорошо понимавший сложившуюся интригу и желая поддержать своего любимца, утвердил новое решение командующего. «Действуйте, как считаете нужным, вам на месте виднее», — заявил он Г.К. Жукову, когда тот изложил свои доводы.
Задачи фронтам Ставка ВГК поставила 2–6 апреля. До начала наступления оставалось совсем немного времени, а работа предстояла огромная. Главная трудность заключалась в создании ударных группировок. Дело в том, что основные силы фронтов находились в стороне от намеченных ударов. Из Восточной Пруссии в состав 1-го Украинского фронта прибывало две армии, которые, следуя в железнодорожных эшелонах, еще не подошли. В особенно сложных условиях оказался К.К. Рокоссовский: 2-му Белорусскому фронту предстояло перегруппировать войска из-под районов Данцига и Гдыни на расстояние 300 км и, сменив армии правого крыла 1-го Белорусского фронта, занять исходное положение для наступления в низовьях Одера. К 16 апреля 2-й Белорусский фронт никак не поспевал выйти в новые районы. Жуков лично докладывал об этом Сталину. «Ну что ж, — ответил Верховный, — придется начать операцию, не ожидая действий фронта Рокоссовского. Если он запоздает на несколько дней — не беда».
1-му Белорусскому и 1-му Украинскому фронтам было приказано перейти в наступление 16 апреля, а 2-му Белорусскому — 20 апреля 1945 года. И в целом к назначенным срокам войска завершили подготовку наступления.
В то же время нужно отметить, что 28-я и 31-я армии 1-го Украинского фронта находились еще на подходе. Также не успели полностью сосредоточиться в новых районах и некоторые части двух других фронтов. Все опаздывающие соединения и части пришлось выделить во второй эшелон и резерв фронтов, а операцию начинать, не дожидаясь их подхода.