31 января танковые части 1-го Белорусского фронта вышли к Одеру в районе Кюстрина и Франкфурта-на-Одере. Передовые подразделения форсировали реку и захватили плацдармы. До Берлина оставалось около 100 километров. Однако дальнейшее наступление на столицу Германии было отложено: войскам требовалось пополнить части, подтянуть тылы и ликвидировать угрозу флангам.
После завершения боёв в Померании и Силезии Красная армия продолжила подготовку к наступлению на Берлин. Советское командование разработало операцию, предусматривавшую быстрое продвижение к столице Германии. В это время Берлин усиленно готовился к обороне. На пути советских войск находились укреплённые Зеловские высоты. Через систему рек и каналов продвигались армии Чуйкова и Катукова. Танковые соединения 1-го Украинского фронта, преодолевая сопротивление частей вермахта и фольксштурма, наступали на Берлин.
Под угрозой окружения немецкие войска отступали, но продолжали ожесточённо сражаться за улицы и кварталы города. 3-я ударная армия генерала Кузнецова вышла к рейхстагу, где развернулись тяжёлые бои. Над зданием рейхстага было водружено Знамя Победы, однако сражение в городе ещё продолжалось. В начале мая вспыхнуло Пражское восстание. 9 мая советские войска вступили в Прагу. 24 июня 1945 года в Москве на Красной площади состоялся Парад Победы.