16 апреля 1945 года после мощной авиационной и артиллерийской подготовки началась решительная атака войсками 1-го Белорусского и 1-го Украинского фронтов одерско-нейсенского оборонительного рубежа. На участке главного удара 1-го Белорусского фронта, где наступление было начато до рассвета, пехота и танки, с целью деморализации противника, двинулись в атаку в полосе, освещенной 140 мощными прожекторами. Войскам ударной группировки фронта пришлось последовательно прорывать несколько полос глубоко эшелонированной обороны. К исходу 17 апреля им удалось прорвать оборону противника на основных участках у Зееловских высот. Войска 1-го Белорусского фронта завершили прорыв третьей полосы одерского рубежа обороны к исходу 19 апреля. На правом крыле ударной группировки фронта 47-я армия и 3-я ударная армия успешно продвигались вперед для охвата Берлина с севера и северо-запада. На левом крыле создались условия для обхода франкфуртско-губенской группировки противника с севера и отсечения ее от района Берлина.

Войска 1-го Украинского фронта форсировали реку Нейсе, в первый день прорвали главную полосу обороны противника, и на 1-1,5 километра вклинились во вторую. К исходу 18 апреля войска фронта завершили прорыв нейсенского рубежа обороны, форсировали реку Шпрее и обеспечили условия для окружения Берлина с юга. На дрезденском направлении соединения 52-й армии отражали контрудар противника из района севернее Герлица.

Передовые части 2-го Белорусского фронта 18-19 апреля форсировали Ост-Одер, преодолели междуречье Ост-Одера и Вест-Одера, а затем начали форсирование Вест-Одера.

20 апреля огнём артиллерии 1-го Белорусского фронта по Берлину было положено начало его штурму. 21 апреля танки 1-го Украинского фронта ворвались на южную окраину Берлина. 24 апреля войска 1-го Белорусского и 1-го Украинского фронтов соединились в районе Бонсдорфа (юго-восточнее Берлина), завершив окружение франкфуртско-губенской группировки противника. 25 апреля танковые соединения фронтов, выйдя в районе Потсдама, завершили окружение всей берлинской группировки (500 тысяч человек). В этот же день войска 1-го Украинского фронта форсировали реку Эльбу и в районе Торгау соединились с американскими войсками.

Во время наступления войска 2-го Белорусского фронта форсировали Одер и, прорвав оборону противника, к 25 апреля продвинулись на глубину до 20 километров; они прочно сковали 3-ю немецкую танковую армию, лишив ее возможности нанести контрудар с севера по советским войскам, окружавшим Берлин.

Франкфуртско-губенская группировка была уничтожена войсками 1-го Украинского и 1-го Белорусского фронтов в период с 26 апреля по 1 мая. Уничтожение берлинской группировки непосредственно в городе продолжалось до 2 мая. К 15 часам 2 мая сопротивление противника в городе прекратилось. Бои с отдельными группами, прорывавшимися из окрестностей Берлина на запад, закончились 5 мая.

Одновременно с разгромом окруженных группировок войска 1-го Белорусского фронта 7 мая вышли на широком фронте к реке Эльба.

В это же время войска 2-го Белорусского фронта, успешно наступая в Западной Померании и Мекленбурге, 26 апреля овладели основными опорными пунктами обороны противника на западном берегу реки Одер — Пёлицом, Штеттином, Гатовом и Шведтом и, развернув стремительное преследование остатков разбитой 3-й танковой армии, 3 мая вышли на побережье Балтийского моря, а 4 мая выдвинулись на рубеж Висмар, Шверин, река Эльде, где вошли в соприкосновение с английскими войсками. 4-5 мая войска фронта очистили от противника острова Воллин, Узедом и Рюген, а 9 мая высадились на датском острове Борнхольм.

Сопротивление немецко-фашистских войск было окончательно сломлено. В ночь на 9 мая в берлинском районе Карлсхорст был подписан Акт о капитуляции вооруженных сил фашистской Германии.