В ночь на 14 апреля 79-й и 12-й гвардейский стрелковые корпуса незаметно для противника сменили на плацдарме части 89-й гвардейской стрелковой дивизии 5-й ударной армии. С целью введения противника в заблуждение относительно времени перехода в наступление, а также для уточнения переднего края и огневой системы неприятеля в восьмом часу утра была проведена разведка боем двумя усиленными батальонами 89-й гвардейской стрелковой дивизии. Однако этих данных оказалось все-таки недостаточно: они касались лишь ограниченного участка. Поэтому генерал-полковник Кузнецов с согласия Маршала Советского Союза Жукова решил 15 апреля продолжить разведку боем на более широком фронте, выделив пять батальонов и значительные силы артиллерии. Они действовали столь стремительно, что противник принял разведку боем за начало наступления главных сил армии и вынужден был подтянуть резервы и полностью раскрыть систему своего огня. Батальоны, проводившие разведку боем, уничтожили боевое охранение противника, захватили отдельные участки первой и второй траншей, продвинулись на 2–4 км и подошли к опорным пунктам и узлам сопротивления Ортвиг и Золиканте, а 12-му гвардейскому стрелковому корпусу удалось овладеть на левом фланге армии опорным пунктом Рефельд.
В ночь на 16 апреля саперы проделали проходы в заграждениях противника. В 5 часов утра началась артиллерийская подготовка, а через 25 минут в полосе 1-го Белорусского фронта были включены прожекторы. Одновременно с этим пехота поднялась в атаку, сопровождаемая огневым валом. Бомбардировщики 18-й воздушной армии (745 самолетов) нанесли удар по Зееловским высотам. К исходу дня войска 3-й ударной армии прорвали главную полосу обороны и своим правым флангом продвинулись на глубину до 8–9 км, вышли к промежуточной оборонительной позиции, форсировав соединениями 79-го стрелкового корпуса канал Позединграбен. Противник, пытаясь сдержать натиск войск 3-й ударной армии, подтянул против 79-го стрелкового корпуса свежие части 25-й моторизованной и 1-й авиаполевой дивизий. Сосед 3-й ударной армии слева, 5-я ударная армия, вышел к Зееловским высотам, по которым проходила вторая полоса обороны противника.
Командующий 1-м Белорусским фронтом, стремясь развить успех в полосе 3-й и 5-й ударных армий, приказал 1-й и 2-й гвардейским танковым армиям и 9-му танковому корпусу прорваться при поддержке 3-й, 5-й ударных и 8-й гвардейской армий в тыл обороны противника и стремительно продвинуться в район Берлина.
С утра 17 апреля войска 1-го Белорусского фронта возобновили наступление. К исходу следующего дня войска 3-й ударной армии завершили прорыв второй полосы обороны. Маршал Советского Союза Жуков с целью развития наступления временно подчинил генерал-полковнику Кузнецову 9-й гвардейский танковый корпус.
Противник, пытаясь удержать последнюю перед Берлином оборонительную полосу, в ночь на 19 апреля бросил против 3-й ударной армии свои последние резервы – 11-ю моторизованную дивизию СС и бригаду истребителей танков «Гитлерюгенд», усиленные 111-й бригадой штурмовых орудий, двумя дивизионами тяжелой артиллерии, одним минометным и двумя зенитными полками. Несмотря на отчаянное сопротивление противника, части 23-й и 52-й гвардейских стрелковых дивизий в восемь часов вечера 19 апреля заняли Претцель. На правом фланге армии соединения 79-го стрелкового корпуса к этому времени углубились в Претцельский лес до трех-четырех километров. Генерал-полковник Кузнецов, стремясь быть ближе к передовым частям, ежедневно перемещал свой наблюдательный пункт. Это позволяло ему лучше чувствовать обстановку, иметь устойчивую связь с командирами корпусов и дивизий, а при необходимости немедленно отправляться туда, где требовалось вмешательство командующего армией.
Войска 47-й армии на своем левом фланге в районе Штернобека прорвали третью полосу обороны и продвинулись на 4-12 км. Соединения 5-й ударной армии во взаимодействии с 12-м гвардейским танковым корпусом 2-й гвардейской танковой армии также преодолели третью полосу обороны, продвинувшись за день на 9-10 км.
В ночь на 21 апреля части 52-й гвардейской и 171-й стрелковых дивизий первыми пересекли берлинскую кольцевую автостраду и ворвались в пригороды Большого Берлина. Соединения 79-го стрелкового корпуса овладели пригородами Каров, Ней-Линденберг, Шванебек, а 12-й гвардейский стрелковый корпус вышел на рубеж юго-восточнее Бланкенбурга, Мальхов. Генерал-полковника Кузнецова немедленно ввел в сражение на левом фланге армии 7-й стрелковый корпус, который к вечеру вышел на рубеж Хоэншенхаузен, Марцан, а 1-й механизированный корпус занял Вейсензее, вклинившись во внутренний берлинский обвод.