1-й Белорусский фронт, нанося силами 47-й армии, 3-й (с 9-м танковым корпусом) и 5-й ударных, 8-й гвардейской армий главный удар с Кюстринского плацдарма, должен был разгромить противника на подступах к Берлину и, на пятнадцатые сутки после начала операции овладев городом, выйти к Эльбе. В первый день операции предусматривалось прорвать первую и вторую полосы обороны и после овладения опорными пунктами на Зеловских высотах обеспечить ввод в сражение 1-й (с 11-м танковым корпусом) и 2-й гвардейских танковых армий. Вспомогательные удары намечалось нанести севернее Кюстрина силами 61-й и 1-й польской армий, южнее – силами 69-й, 33-й армий и 2-го гвардейского кавалерийского корпуса. Второй эшелон фронта составляла 3-я армия. Плотность артиллерии на участках прорыва доходила до 270 стволов на 1 км фронта (без учёта противотанковых пушек). Атаку пехоты и танков с Кюстринского плацдарма намечалось провести за два часа до рассвета; для освещения местности во время атаки было подготовлено 143 мощных прожектора войск ПВО страны. Этим беспрецедентным на советско-германском фронте и заимствованным у британского военного теоретика Дж. Фуллера приёмом маршал Жуков рассчитывал ошеломить противника, а также лишить его преимуществ, которые он имел, находясь на местности, допускающей обзор и прицельный обстрел наших войск во время их подхода ко второй полосе обороны. На шестой день операции основная группировка фронта должна была овладеть Берлином. На пятнадцатые сутки операции войска 1-го Белорусского фронта должны были выйти к Эльбе и соединиться с армиями западных союзников;
2-й Белорусский фронт главный удар наносил силами 65, 70 и 49-й армий, 1, 8 и 3-го гвардейских танковых корпусов, 8-го механизированного корпуса, 3-го гвардейского кавалерийского корпуса в общем направлении на Нёйстрелиц. В течение первых пяти дней наступления соединения ударной группировки должны были форсировать оба русла Одера, прорвать Одерский оборонительный рубеж, развивать наступление в северо-западном и западном направлениях, отсекая от Берлина главные силы 3-й танковой армии. В дальнейшем фронту ставилась задача прижать к морю и разгромить противника и не позднее чем на пятнадцатые сутки с начала операции овладеть рубежом Анклам – Деммин – Мальхин – Виттенберг (Виттенберге), обеспечив действия 1-го Белорусского фронта с севера. Войска Приморской группы фронта в составе 19-й и 2-й ударной армий имели задачей прочное удержание занимаемых рубежей;
1-й Украинский фронт главный удар наносил силами трёх общевойсковых (3-я гвардейская с 25-м танковым корпусом, 13-я, 5-я гвардейская с 4-м гвардейским кавалерийским корпусом) и двух танковых (3-я и 4-я гвардейские) армий. Общевойсковые армии должны были форсировать Нейсе, прорвать оборону врага и с рубежа р. Шпрее обеспечить ввод в сражение на второй день операции танковых армий, которым предстояло действовать в направлениях на Бранденбург, Ратенов, Дессау, а одним танковым корпусом 3-й гвардейской танковой армии – на Берлин с юга. Одновременно с этим планом командующего фронтом предусматривался ввод передовых отрядов корпусов первого эшелона танковых армий в первый день операции с задачей помочь пехоте «допрорвать» главную полосу обороны противника и захватить плацдарм на р. Шпрее. На пятый день операции танковым армиям фронта предстояло выйти в район в 30–35 км юго-западнее Берлина, разгромить немецкие войска в районе Котбуса и южнее Берлина и на 10-12-й день после начала наступления овладеть Виттенбергом и рубежом, проходящим вдоль Эльбы до Дрездена, и соединиться с американскими войсками. Кроме того, частью сил основной группировки планировалось нанести удар по Берлину с юга. На направлении главного удара предусматривалось использовать второй эшелон фронта – 28-ю и 31-ю армии, которые должны были прибыть к 20–22 апреля 1945 г. Вспомогательный удар намечалось нанести силами 2-й армии Войска Польского совместно с частью сил 52-й армии и 7-м гвардейским механизированным корпусом в общем направлении на Бауцен – Дрезден. Войска левого крыла фронта переходили к жёсткой обороне. Резерв фронта – 1-й гвардейский кавалерийский корпус предназначался для использования в полосе 52-й армии;
Балтийский флот (линкор, 2 лёгких крейсера, 12 эсминцев, 20 подводных лодок, 78 торпедных катеров и 226 малых охотников) получил задачу прикрыть приморский фланг 2-го Белорусского фронта и обеспечить морскую блокаду немецких войск на Курляндском полуострове, косе Фрише-Нерунг, косе Хель, в районе Гдыни, Данцига и в устье Вислы, не допуская их переброски на усиление обороны Берлина и систематически нарушая морские коммуникации противника;