A cavallo tra il 1944 e il 1945 ebbero luogo in Ungheria duri scontri tra tedeschi e sovietici, i primi con l'aiuto di reparti dell'esercito ungherese e i secondi appoggiati da contingenti romeni. Le colonne meccanizzate sovietiche, a cavallo del Danubio, accerchiarono completamente Budapest e le cospicue forze tedesche e ungheresi poste a sua difesa il 27 dicembre 1944[110]; l'assedio di Budapest infuriò fino al 13 febbraio 1945 come una dura battaglia urbana, con perdite ingentissime per tutte e due le parti e devastazioni della città altrettanto enormi, prima che le residue forze tedesche e ungheresi capitolassero.
Mentre infuriavano i combattimenti per le strade di Budapest, le enormi forze sovietiche ammassate più a nord iniziarono la marcia alla volta di Berlino. L'ultima grande offensiva invernale dell'Armata Rossa iniziò il 12 gennaio forse in anticipo sui piani per ordine di Stalin, sollecitato da Churchill affinché sferrasse un attacco per alleggerire la situazione degli Alleati nelle Ardenne. A partire dalle teste di ponte sulla Vistola di Baranow e Sandomir, una vera valanga di uomini con 32 000 cannoni, 6 400 carri armati e 4 800 aerei si abbatté sulle difese tedesche: le prime linee sulla Vistola vennero rapidamente travolte, Varsavia cadde senza combattere e le riserve corazzate tedesche furono distrutte nella battaglia di Kielce dai corpi meccanizzati del maresciallo Konev. Un enorme vuoto si aprì davanti alle colonne dei marescialli Žukov e Konev, che si lanciarono rapidamente in profondità aggirando i capisaldi di Breslavia e Posen, difesi dai tedeschi per ordine tassativo di Hitler. L'avanzata in Polonia fu rapidissima: il 17 gennaio venne raggiunta Częstochowa, il 19 Łódź e Cracovia, il 28 gennaio Katowice e il bacino industriale della Slesia; il 27 gennaio i soldati sovietici fecero il loro ingresso nel campo di concentramento di Auschwitz.
Molto più combattuta fu la battaglia per la Prussia Orientale, attaccata dal 13 gennaio. I tedeschi si batterono con abilità ed efficacia sfruttando il terreno boscoso e le solide fortificazioni, tuttavia le colonne corazzate sovietiche raggiunsero la costa baltica presso Marienburg il 27 gennaio. Le superstiti navi da guerra della Kriegsmarine intervennero con le loro artiglierie in aiuto delle truppe di terra ed eseguirono numerose evacuazioni di reparti militari e soprattutto di civili in fuga davanti alla devastazione sovietica; i sommergibili sovietici colarono a picco diverse navi cariche di civili: il siluramento del transatlantico Wilhelm Gustloff il 30 gennaio causò 5 300 morti (il più grande disastro navale della storia)[118]. La poderosa fortezza di Königsberg fu attaccata a partire dal 1º aprile dalle forze sovietiche, guidate personalmente dal maresciallo Vasilevskij, e conquistata il 9 aprile grazie all'impiego in massa dell'artiglieria pesante e di grandi rinforzi di aviazione, causando 150 000 perdite tra i tedeschi. Piccoli nuclei di resistenza tedeschi rimasero attivi nella regione del Frisches Haff fino alla capitolazione del Terzo Reich.
Alla fine di gennaio l'Armata Rossa raggiunse dopo un'avanzata forsennata il fiume Oder, l'ultimo ostacolo naturale prima di Berlino, e costituì subito teste di ponte sulla riva occidentale a Küstrin e Opole. La capitale tedesca era distante appena 80 km e i tedeschi avevano perso quasi 400 000 uomini in un mese[119]; il paese era devastato, i civili avevano abbandonato in massa i territori invasi mentre i soldati sovietici si abbandonavano spesso al saccheggio e alla vendetta sulle popolazioni. Le forze sovietiche giunte all'Oder, tuttavia, interruppero la loro avanzata: Stalin, impegnato in quei giorni nella conferenza di Jalta con Roosevelt e Churchill, non voleva rischiare un balzo sulla capitale prima di aver messo al sicuro i fianchi dell'avanzata; durante febbraio e marzo, quindi, l'Armata Rossa si impegnò nel rastrellamento delle sacche di resistenza rimaste nelle retrovie e nella sconfitta delle forze nemiche in Pomerania e in Slesia. La Wehrmacht tentò anche alcune disperate controffensive, l'operazione Solstizio in Pomerania e l'operazione Frühlingserwachen nell'Ungheria occidentale, senza riuscire però ad approdare a niente.
Dopo la battaglia delle Ardenne e il trasferimento di numerose divisioni verso il fronte orientale, l'esercito tedesco a ovest era ormai in netta inferiorità numerica e materiale nei confronti delle forze alleate. Dopo una fase di riorganizzazione e pianificazione, e anche di scontri tra i vertici britannici e statunitensi sulle priorità strategico-operative da adottare, gli Alleati poterono quindi ricominciare l'offensiva; l'opzione migliore per la Wehrmacht era di ripiegare dietro al Reno e di usare il fiume come barriera, ma Hitler si oppose all'abbandono della Renania con il risultato che le migliori unità tedesche finirono annientate nelle offensive concentriche sferrate dagli Alleati tra febbraio e marzo, l'operazione Veritable degli anglo-canadesi e l'operazione Grenade degli statunitensi. Il 6 marzo gli statunitensi entrarono a Colonia e, sfruttando la crescente confusione tra le file del nemico, il 7 marzo si impadronirono con un colpo di mano a Remagen di un ponte sul Reno, costituendo una prima testa di ponte a est del fiume. Nella notte tra il 22 e il 23 marzo fu la volta della 3ª Armata di Patton di attraversare a sorpresa il Reno a Oppenheim, mentre il 24 marzo anche Montgomery portò le sue forze oltre il fiume a Wesel con l'appoggio dell'ultimo grande assalto aviotrasportato della guerra, l'operazione Varsity; a sud, dopo aver completato la liberazione della Francia schiacciando la sacca di Colmar in febbraio, i franco-statunitensi di Devers valicarono a loro volta il Reno il 26 marzo tra Mannheim e Worms.