A finales de 1944 los alemanes seguían manteniendo la mitad occidental de Polonia, y su frente seguía estando 200 millas al este de donde había estado al comienzo de la guerra en 1939. Los alemanes habían frenado la ofensiva de verano de los soviéticos y habían establecido una línea firme a lo largo de los ríos Narew y Vístula hacia el sur, hasta los Cárpatos, y en octubre repelieron el intento de penetración del Ejército Rojo en Prusia Oriental. Mientras tanto, sin embargo, la izquierda soviética, avanzando desde los Balcanes orientales, había estado empujando gradualmente a través de Hungría y Yugoslavia en un vasto movimiento de flanqueo; y la absorción de las fuerzas alemanas para oponerse a esta aproximación lateral restó considerablemente capacidad a los alemanes para mantener sus frentes principales oriental y occidental.
El alto mando soviético estaba ahora preparado para explotar las debilidades fundamentales de la situación alemana. Se habían acumulado abundantes suministros para sus ejércitos en las cabeceras de los ferrocarriles. El creciente flujo de camiones suministrados por Estados Unidos había permitido a los soviéticos motorizar una proporción mucho mayor de sus brigadas de infantería y así, con la creciente producción de sus propios tanques, multiplicar el número de cuerpos blindados y móviles para un avance exitoso.
Antes de finales de diciembre, Guderian -que, en este período desesperadamente tardío de la guerra, había sido nombrado jefe del estado mayor alemán- recibió informes ominosos. La inteligencia del ejército alemán informó que 225 divisiones de infantería soviéticas y 22 cuerpos blindados habían sido identificados en el frente entre el Báltico y los Cárpatos, reunidos para atacar. Pero cuando Guderian presentó el informe de estos masivos preparativos ofensivos soviéticos, Hitler se negó a creerlo, exclamando: «¡Es la mayor impostura desde Gengis Kan! ¿Quién es el responsable de producir toda esta basura?»
Si Hitler hubiera estado dispuesto a detener la contraofensiva de las Ardenas en el oeste, las tropas podrían haber sido transferidas al Frente Oriental; pero se negó a hacerlo. Al mismo tiempo, rechazó la renovada petición de Guderian de que las 30 divisiones alemanas ahora aisladas en Courland (en la costa marítima del Báltico, en Lituania) fueran evacuadas por mar y traídas de vuelta para reforzar las puertas de entrada a Alemania. Como consecuencia, Guderian se quedó con una reserva móvil de sólo 12 divisiones acorazadas para respaldar a las 50 débiles divisiones de infantería extendidas a lo largo de las 700 millas del frente principal.
La ofensiva soviética comenzó el 12 de enero de 1945, cuando los ejércitos de Konev se lanzaron contra el frente alemán en el sur de Polonia, partiendo de su cabeza de puente sobre el río Vístula, cerca de Sandomierz. Después de haber perforado la defensa alemana y producido una amenaza de flanqueo al sector central, los ejércitos de Zhukov en el centro del frente avanzaron desde sus cabezas de puente más cercanas a Varsovia. Ese mismo día, el 14 de enero, los ejércitos de Rokossovsky también se unieron a la ofensiva, atacando desde el río Narew al norte de Varsovia y rompiendo las defensas que cubrían este flanco de acceso a Prusia Oriental. La brecha en el frente alemán era ahora de 200 millas de ancho.
El 17 de enero de 1945, Varsovia fue capturada por Zhukov, después de haber sido rodeada; y el 19 de enero sus puntas de lanza blindadas entraron en Łódź. Ese mismo día las puntas de lanza de Konev alcanzaron la frontera silesiana de la Alemania de preguerra. Así, al final de la primera semana, la ofensiva había sido llevada a 100 millas de profundidad y tenía 400 millas de ancho -demasiado ancho para ser llenado por los escasos refuerzos que se proporcionaron tardíamente.
La crisis hizo que Hitler renunciara a cualquier idea de continuar su ofensiva en el oeste; pero, a pesar del consejo de Guderian, cambió el 6º Ejército Panzer no a Polonia sino a Hungría en un intento de aliviar Budapest. Los soviéticos pudieron así continuar su avance a través de Polonia durante dos semanas más. Mientras las puntas de lanza de Konev cruzaban el río Oder en las cercanías de Breslau (Wrocław) y cortaban así los importantes recursos minerales de Silesia a Alemania, Zhukov realizó un avance arrollador en el centro avanzando desde Varsovia, pasando por Poznań, Bydgoszcz y Toruń, hasta las fronteras de Brandeburgo y de Pomerania. Al mismo tiempo, Rokossovsky avanzó, a través de Allenstein (Olsztyn), hasta el Golfo de Danzig, cortando así las 25 divisiones alemanas en Prusia Oriental. Para defender la enorme brecha en el centro del frente, Hitler creó un nuevo grupo militar y puso a Heinrich Himmler al mando con un personal de oficiales de las SS favorecidos. Su torpeza ayudó a despejar el camino a Zhukov, cuyas fuerzas mecanizadas, el 31 de enero de 1945, estaban en Küstrin, en el bajo Oder, a sólo 40 millas de Berlín.
El avance de Zhukov se detuvo. Sin embargo, Konev todavía podía hacer un barrido hacia el noroeste por la orilla izquierda del Oder medio, alcanzando Sommerfeld, a 80 millas de Berlín, el 13 de febrero, y el río Neisse dos días después. La defensa de los alemanes se vio beneficiada por el retroceso a la línea recta y acortada formada por los ríos Oder y Neisse. Este frente, que se extendía desde la costa del Báltico hasta la frontera de Bohemia, tenía menos de 200 millas de longitud. La amenaza del inminente acercamiento de los soviéticos a Berlín llevó a Hitler a decidir que la mayor parte de sus nuevas tropas debían ser enviadas a reforzar el Oder; de este modo se facilitó el camino para el cruce del río Rin por parte de los ejércitos americano y británico.
El 13 de febrero de 1945, los soviéticos tomaron Budapest, cuya defensa había supuesto la pérdida de Silesia por parte de los alemanes.