I slutet av 1944 höll tyskarna fortfarande den västra halvan av Polen, och deras front var fortfarande 200 mil öster om den plats där den hade legat vid krigets början 1939. Tyskarna hade hejdat Sovjets sommaroffensiv och upprättat en fast linje längs floderna Narew och Vistula söderut till Karpaterna, och i oktober slog de tillbaka Röda arméns försök att tränga in i Östpreussen. Under tiden hade emellertid den sovjetiska vänstern, som rörde sig upp från östra Balkan, gradvis drivit runt genom Ungern och Jugoslavien i en omfattande flankeringsrörelse; och upptagandet av tyska styrkor för att motsätta sig denna sidodörrsåkning minskade avsevärt tyskarnas förmåga att upprätthålla sina huvudsakliga öst- och västfronter.
Det sovjetiska överkommandot var nu redo att utnyttja de grundläggande svagheterna i den tyska situationen. Rikligt med förnödenheter till deras arméer hade ackumulerats vid järnvägsstationerna. Den ökande strömmen av amerikanskt levererade lastbilar hade vid denna tid gjort det möjligt för sovjeterna att motorisera en mycket större del av sina infanteribrigader och därmed, med den ökande produktionen av egna stridsvagnar, multiplicera antalet bepansrade och rörliga kårer för ett framgångsrikt genombrott.
För slutet av december mottogs olycksbådande rapporter av Guderian – som i denna förtvivlat sena period av kriget hade utnämnts till chef för den tyska generalstaben. Den tyska arméns underrättelsetjänst rapporterade att 225 sovjetiska infanteridivisioner och 22 pansarkårer hade identifierats på fronten mellan Baltikum och Karpaterna, samlade för att anfalla. Men när Guderian presenterade rapporten om dessa massiva sovjetiska offensivförberedelser vägrade Hitler att tro på den och utropade: ”Det är det största bedrägeriet sedan Djingis Khan! Vem är ansvarig för att producera all denna smörja?”
Om Hitler hade varit villig att stoppa Ardennerna-motoffensiven i väster kunde trupper ha överförts till östfronten; men han vägrade att göra det. Samtidigt vägrade han Guderians förnyade begäran om att de 30 tyska divisioner som nu var isolerade i Kurland (vid Östersjöns sjökust i Litauen) skulle evakueras till sjöss och föras tillbaka för att förstärka infarterna till Tyskland. Som en följd av detta lämnades Guderian med en mobil reserv på endast 12 pansardivisioner som stöd för de 50 svaga infanteridivisioner som var utspridda över huvudfrontens 700 mil.
Den sovjetiska offensiven inleddes den 12 januari 1945, då Konevs arméer inleddes mot den tyska fronten i södra Polen, med utgångspunkt i deras brohuvud över floden Vistula i närheten av Sandomierz. Efter att ha genomborrat det tyska försvaret och skapat ett flankerande hot mot den centrala sektorn, hoppade Zjukovs arméer i mitten av fronten fram från sina brohuvuden närmare Warszawa. Samma dag, den 14 januari, anslöt sig även Rokossovskijs arméer till offensiven och slog till från floden Narew norr om Warszawa och bröt igenom försvaret som täckte denna flanktillgång till Östpreussen. Bristen i den tyska fronten var nu 200 mil bred.
Den 17 januari 1945 intog Zjukov Warszawa efter att ha varit omringad, och den 19 januari körde hans pansarspjutspetsar in i Łódź. Samma dag nådde Konevs spjutspetsar den schlesiska gränsen i förkrigstidens Tyskland. Vid slutet av den första veckan hade således offensiven förts 100 mil djupt och var 400 mil bred – alldeles för bred för att kunna fyllas av de sparsamma förstärkningar som så sent kom till stånd.
Krisen fick Hitler att avstå från att fortsätta sin offensiv i väster; men trots Guderians råd förflyttade han den 6:e pansararmén inte till Polen utan till Ungern i ett försök att avlasta Budapest. Sovjet kunde på så sätt fortsätta sin framryckning genom Polen i ytterligare två veckor. Medan Konevs spjutspetsar korsade floden Oder i närheten av Breslau (Wrocław) och därmed skar av Schlesiens viktiga mineraltillgångar från Tyskland, gjorde Zjukov en svepande framryckning i centrum genom att köra fram från Warszawa, förbi Poznań, Bydgoszcz och Toruń, till Brandenburgs och Pommerns gränser. Samtidigt trängde Rokossovskij fram genom Allenstein (Olsztyn) till Danzigbukten och skar därmed av de 25 tyska divisionerna i Östpreussen. För att försvara den gapande luckan i mitten av fronten skapade Hitler en ny armégrupp och gav Heinrich Himmler befälet över den med en stab av gynnade SS-officerare. Deras fumlande hjälpte till att bana väg för Zjukov, vars mekaniserade styrkor den 31 januari 1945 befann sig vid Küstrin, vid nedre Oder, bara 40 mil från Berlin.
Zjukovs framryckning stannade nu upp. Konev kunde dock fortfarande göra en nordvästlig svepning längs den vänstra stranden av mellersta Oder och nådde Sommerfeld, 80 mil från Berlin, den 13 februari och floden Neisse två dagar senare. Tyskarnas försvar gynnades av att de drevs tillbaka till den raka och förkortade linje som bildades av floderna Oder och Neisse. Denna front, som sträckte sig från Östersjökusten till den böhmiska gränsen, var mindre än 200 mil lång. Hotet från Sovjets nära förestående närmande till Berlin fick Hitler att besluta att de flesta av hans nya truppuppbåd måste skickas för att förstärka Oder; på så sätt underlättades vägen för de amerikanska och brittiska arméerna att korsa floden Rhen.
Den 13 februari 1945 intog Sovjet Budapest, vars försvar hade inneburit att tyskarna hade förlorat Schlesien.