A Malinovszkij hadseregtábornok vezette 2. Ukrán Front 1944. október elején érte el az Alföldet. A nyertes debreceni páncéloscsata után Sztálin Budapest elfoglalását jelölte ki következő célként. Tolbuhin marsall 3. Ukrán Frontja október végén Mohács alatt átkelt a Dunán és megindult észak, vagyis Buda felé, így a város megtartása a németek számára már stratégiai képtelenség volt. Így látta ezt Hans Friessner vezérezredes, a német Dél Hadseregcsoport főparancsnoka is, aki telefonon kifejtette véleményét Guderian marsall, vezérkari főnöknek is, mondván: talán Buda átmeneti védelmének van értelme, de a leghelyesebb az lenne, ha egész Budapestet nyílt várossá nyilvánítanák. Válaszul Hitler menten leváltotta Friessnert, a budapesti védelem parancsnokának pedig egy korlátolt SS rendőrtárbonokot, Karl Pfeffer-Wildenbruchot nevezett ki. A klessheimi főhadiszállásra látogató Szálasi Ferencnek Hitler kifejtette: a szovjetek sírjává, fordított Sztálingráddá változtatja Budapestet. Itt, a Dunánál halálos csapást mérnek a vörösökre. Házról-házra fognak harcolni Budapest Erőd utcáin.
A magyar főváros sorsa ezzel megpecsételődött. A városban hozzávetőleg 35 ezer magyar (a sorkatonák között sok nyilas pártszolgálatos) és körülbelül 25 ezer német katona volt (pontos adat máig nem ismert). Sztálin már 1944. október 29-én megparancsolta Malinovszkij marsallnak, hogy késlekedés nélkül vegye be "menetből" a magyar fővárost. Malinovszkij megpróbált ellenállni, mondván: a Kárpátokat megkerülő, több mint 600 kilométeren harcolva előrenyomuló csapatai nem elégségesek egy ekkora város elfoglalására. Sztálin azonban nem engedett; közölte Malinovszkijjal, hogy Budapest elfoglalásának politikai célja van. Sztálin a Debrecenben frissen megalakult Ideiglenes Nemzetgyűlést és Ideiglenes Nemzeti Kormányt mielőbb Budapesten akarta tudni. Legszívesebben már november 7-én díszszemlét rendezett volna a magyar fővárosban.
Mint az várható volt, Malinovszkij csapatai - bár elfoglalták Szolnokot, Kecskemétet és Ceglédet - csak mintegy 100 kilométerre tudták megközelíteni Budapestet. Sztálin ekkor - december első napjaiban - engedélyezte, hogy Tolbuhin marsall csapatai függesszék fel általános irányú előrenyomulásukat Bécs felé, és nyugat-északnyugat irányból segítsenek Malinovszkijnak bekeríteni a magyar fővárost. Az ostromgyűrű 1944 karácsonyán bezárult. A nyilas propaganda fennen hirdette, hogy a németek - csodafegyverekkel - hamarosan felszabadítják a várost. A színházak könnyű, szórakoztató darabokat játszottak. Miközben Buda határárban már dörögtek a fegyverek, a Fővárosi Operettszínház - nagy sikerrel - felújította Lehár Ferenc A mosoly országa című operettjét. Vagyis a valóságérzék nem volt erős oldala a nyilas propagandával elkábított fővárosi közönségnek.
A Budapesten bekerített magyar csapatok főparancsnoka, a korlátolt nyilas Hindy Iván vezérezredes volt (1946-ban, mint háborús bűnöst, kivégezték). Hindy- akit korábban úgy ismertek, mint aki nem foglakozik politikával - a Szálasi-puccs napján letartóztatta parancsnokát, Aggteleky Béla altábornagyot mondván: "árulás készül a német bajtársak ellen. A kormányzó úr a Várban zsidók befolyása alá került. Elárulta a magyar hazát, defetista lett!" Horthy kiugrási kísérletébe ugyanis Hindy is be volt avatva.
Alárendeltségében olyan botrányos alakok szolgáltak, mint a fanatikus, kegyetlen Vannay László őrnagy, aki tucatjával végeztette ki a reménytelen harcoktól menekülni próbáló tizenéves leventéket. Sőt, szolgálattételre jelentkezett nála a fehérterror hírhedt különítmény- parancsnoka, Prónay Pál is.
Hitler november 23-án erőddé nyilvánította a fővárost (Festung Budapest), s ezzel megpecsételte sorsát. A szovjet csapatok mind Pest, mind Buda felől valóban házról házra harcolva nyomultak előre. '44 véres karácsonyán már véres küzdelmek zajlottak a pesti kertvárosokban és a budai dombok között. Sőt, egy váratlan rohammal Tolbuhin 3. Ukrán Frontjának katonái egy rövid időre egészen a János Kórházig jutottak el. Innen csak a gyorsan átdobott, komoly erőt képviselő SS hadosztály alakulatai tudták őket ideiglenesen visszaszorítani.
A nagyváros civil lakosságára rettenetes szenvedés zúdult. A sebesült és halálos áldozatok számáról máig nincs pontos adta, de a civil veszteség megközelítette a 30 ezer főt. És ebben a pesti gettó áldozatai nincsenek is benne. Annyit tudunk, hogy 1944. október vége és 1945 január 17. - Pest felszabadulása - között a város zsidó lakossága 200 ezerről 120 ezerre csökkent. Szálasi gondoskodott arról, hogy még az ostromgyűrű bezárulása előtt, gyalogmenetben több mint 40 ezer zsidót indítson útnak Ausztria felé. Több tízezer emberrel aztán az éhezés, a hideg, a járványok és a nyilas keretlegények végeztek.
Véres harcok után 1945 január 17.-18.-ára Pestet megtisztították a szovjet csapatok. Ekkor robbantották fel a város Duna-hídjait a németek - lényegében értelmetlenül. Ugyanis a Budát rohamozó szovjet csapatok már az elővárosokban harcoltak és ezeket az egységeket semmiben sem akadályozta a hidak felesleges elpusztítása.
Buda ostroma még véresebb volt, mint a pesti harcok. A fanatikusan és teljesen értelmetlenül - hiszen a szovjet csapatok egy jelentős része ekkor már Kormárom-Győr irányában Ausztria felé nyomult előre - védekező csapatok halálos ítélete biztos volt. Teljes kudarccal járt a Buda felszabadítására indított három Konrád fedőnevű roham. Igaz, Herbert Otto Gille Galiciából átdobott páncélosai egy rövid időre a Pilisben áttörték az ostromgyűrűt, de Hitler parancsa az volt,hogy nyomuljanak be az ostromlott városba, vagyis a bekerített erődbe. Állítólag Gille erre azt mondta Hermann Balck vezérezredesnek, közvetlen felettesének, hogy "SS vagyok, de nem bolondultam meg a biztos pusztulásba menni".
A szovjet csapatok 1945 február első napjaiban elfoglalták a Sas-hegyet és a Gellérthegyet, amivel kettévágták a budai frontot. Innen kezdve az eredetileg is kilátástalan védekezés teljesen céltalan, eszeveszett vérontássá vált. A lényegében a budai Várba szorult német és magyar védők, végül február 11-én, egy reménytelen kitörési kísérletbe kezdtek. Nagyjából a budai Ördögárok mentén Hűvösvölgy felé kísérleték meg áttörni az ostromgyűrűt. Végül legfeljebb 700 katonának sikerült megmenekülni, az Ördögároknál esett fogságba Budapest parancsnoka Pfeffer-Wildenbruch tábornok is. Végül Buda, és ezzel együtt az egész magyar főváros 1945. február 12.-én felszabadult.
A nagyváros egyetlen romhalmaz volt. A pusztulás mértéke csak Sztálingrádhoz, vagy Berlinhez volt hasonlítható. Romba dőlt 33 ezer lakóház. A Dunába robbantották a város hídjait. Kiégett a híres Duna-parti teljes szállodasor és a pesti Vigadó. Romhalmazzá vált a budai Vár és a budai Polgárnegyed nagy része. A pesti oldalon csaknem teljesen elpusztultak a Körút házai, a mai V., VII. és VIII. kerület épületei. Károkat szenvedett az Operaház, a Nemzeti Színház és a Zeneakadémia. Budán a Krisztinavárosban, a Vérmező és a Sashegy környékén hozzávetőleg 80 százalékos volt a pusztulás; nem, vagy alig volt ház, amely egy vagy több belövést ne kapott volna. Későbbi becslések 1938-as árfolyamon 1000 milliárd pengőre becsülték az anyagi kárt. Az emberi veszteség számai is félelmetesek. A szovjet erők több mint 200 ezer katonát vesztettek. Ez azt jelenti,hogy a magyar területen elesett szovjet-orosz katonák közül miden második a budapesti és a Budapest körüli harcokban veszítették életüket. A magyar és német erők vesztessége hozzávetőleg 60 ezerre tehető.
Budapest teljes újjáépítése lényegében máig nem ért végett. A budai Vár, a régi Honvéd Főparancsnokság épülete mindmáig romhalmaz, évtizedekig tartott, amíg a lerombolt Duna-hidak helyett újak épültek. Egy szörnyű, bűnös és oktalan háború kitörölhetetlen nyomokat hagyott a magyar fővároson. A máig nem hegedő sebek a mártír költő Radnóti Miklós sorait idézik; ez a város szörnyű szenvedések árán tanulta meg, hogy mit jelent "a házfalakról csorgó vöröslő fájdalom".