Pe 29 octombrie 1944, a început atacul asupra Budapestei în cadrul celui de Al Doilea Război Mondial. Aproximativ 1.000.000 de soldați aveau ca scop izolarea Budapestei de restul forțelor germane și maghiare. Pe 7 noiembrie 1944, trupele sovietice și române au pătruns în partea de est a orașului, iar pe 26 decembrie, un drum care leagă Budapesta de Viena a fost ocupat de trupele sovietice, completând astfel încercuirea.
Ca urmare a încercuirii, aproape 33.000 de soldați germani și 37.000 de soldați maghiari, precum și peste 800.000 de civili, au rămas prinși în oraș. Refuzând să autorizeze o retragere, Adolf Hitler a ordonat ca Budapesta să fie apărată până la ultimul om. Generalul SS Waffen Karl Pfeffer-Wildenbruch, comandantul Corpului alpin al IX-lea Waffen SS, a fost pus la conducerea apărării orașului. De partea sovietică, mareşalul Malinovski şi-a împărţit forţele în două: grupul Pesta, format din trei corpuri de armată (două ale Frontului 2 ucrainean şi Corpul 7 Armată român), şi grupul Buda, conţinând trei corpuri de infanterie şi unul mecanizat, toate din compunerea Frontului 3 Ucrainean.
Tentativa de „capitulare”
Budapesta a fost o țintă majoră pentru Iosif Stalin, acesta ordonând generalului Rodion Malinovsky să pună mâna pe oraș fără întârziere. În noaptea de 28 decembrie 1944, al 2-lea și al 3-lea front ucrainean i-au contactat pe germanii asediați prin radiouri și difuzoare încercând să obțină capitularea orașului. Sovieticii au promis că vor oferi condiții bune prizonierilor germani și maghiari, iar grupurile de emisari nu vor aduce arme și vor apărea în mașini cu steaguri albe.
A doua zi, două grupuri de emisari sovietici au apărut. Primul, aparținând Frontului 3 Ucrainean, a sosit la ora 10:00 în sectorul Budafok și a fost dus la sediul generalului Pfeffer-Wildenbruch. Efortul lor de negociere a fost un eșec; Pfeffer-Wildenbruch a refuzat condițiile de capitulare și a trimis agenții sovietici înapoi pe câmpul de luptă. În timp ce emisarii erau în drum spre taberele lor, germanii au deschis brusc focul, ucigându-l pe căpitanul I. A. Ostapenko. Locotenentul N. F. Orlov și sergentul Ye. T. Gorbatyuk au sărit rapid într-un șanț, abia supraviețuind. Din cauza focului puternic german, sovieticii nu au putut recupera cadavrul lui Ostapenko până în noaptea de 29 decembrie. A fost înmormântat la Budafok cu onoruri militare depline.
Al doilea grup de emisari aparținea Frontului 2 ucrainean și a ajuns la ora 11:00 în sectorul Kispest. Când au sosit emisarii, garnizoana germană a tras în ei. Liderul emisarilor, căpitanul Miklós Steinmetz, a făcut apel la o negociere, dar fără rezultat fiind în cele din urmă ucis împreună cu cei doi subalterni ai săi.
Contraofensiva germană
În ianuarie 1945, germanii au lansat o contraofensivă în trei părți cu numele de cod Operațiunea Konrad. Acesta a fost un efort comun germano-maghiar de a elibera garnizoana încercuită a Budapestei. Operațiunea Konrad I a fost lansată la 1 ianuarie. Corpul german IV SS Panzer a atacat de la Tata printr-un teren deluros la nord-vest de Budapesta, în efortul de a rupe asediul. Pe 3 ianuarie, comandamentul sovietic a trimis încă patru divizii pentru a face față amenințării. Această acțiune sovietică a oprit ofensiva lângă Bicske, la mai puțin de 20 de kilometri vest de Budapesta. Germanii au fost forțați să se retragă pe 12 ianuarie.
Pe 7 ianuarie a fost lansată operațiunea Konrad II. Corpul IV SS Panzer a atacat de la Esztergom spre aeroportul din Budapesta pentru a-l captura și a îmbunătăți capacitatea de a aproviziona orașul prin aer. Această ofensivă a fost oprită însă în apropierea aeroportului. Luptele de stradă din Budapesta au crescut în intensitate. Aprovizionarea a devenit un factor decisiv din cauza pierderii aeroportului Ferihegy pe 27 decembrie 1944, chiar înainte de începerea asediului. Până pe 9 ianuarie 1945, trupele germane au putut folosi unele dintre străzile principale, precum și parcul de lângă Castelul Buda ca zone de aterizare pentru avioane și planoare, deși erau sub focul constant de artilerie al sovieticilor. Înainte să înghețe Dunărea, unele provizii puteau fi trimise pe șlepuri, sub acoperirea întunericului și a ceții. Lipsa de hrană era din ce în ce mai frecventă, iar soldații trebuiau să se bazeze pe găsirea propriilor surse de întreținere, unii chiar fiind nevoiți să-și mănânce caii.
Pe 15 ianuarie, comandamentul sovietic a decis scoaterea Corpului 7 Armată român din dispozitiv şi trimiterea acestuia pe frontul din Cehoslovacia, după ce, la 12 ianuarie, se aduseseră acuzaţii privind neîndeplinirea misiunilor de luptă. Această mutare a avut scop propagandistic, sovieticii urmărind să nu împartă cu nimeni meritele capturării Budapestei.
La mijlocul lunii ianuarie, insula Csepel a fost capturată, împreună cu fabricile sale militare, care încă produceau armament, chiar și sub focul sovietic. Între timp, la Pesta, situația forțelor Axei s-a deteriorat, garnizoana confruntându-se cu riscul de a fi tăiată în două de către trupele sovietice ce avansau. Pe 17 ianuarie 1945, Hitler a fost de acord să retragă trupele rămase la Pesta pentru a încerca să apere Buda. Toate cele cinci poduri care traversau Dunărea erau neîncăpătoare datorită fluxului mare de civili evacuați. Pe 18 ianuarie trupele germane au distrus podurile, în ciuda protestelor ofițerilor maghiari. Unul dintre ele a fost faimosul Pod cu Lanțuri, datând din 1849.
Pe 18 ianuarie 1945, Corpul IV SS Panzer a lansat Operațiunea Konrad III. În două zile, tancurile germane au ajuns pe Dunăre, rupând frontul sovietic, până pe 26 ianuarie ofensiva ajungând la aproximativ 25 de kilometri de inelul din jurul capitalei.
Înaintarea
Stalin a ordonat trupelor sale să nu dea înapoi cu orice preț, iar două Corpuri de Armată au fost mutate în grabă în sudul orașului pentru a contracara ofensiva germană. Apărătorii Budapestei au cerut permisiunea să părăsească orașul și să scape de încercuire. Hitler a refuzat. Pe 28 ianuarie 1945, trupele germane au fost forțate să se retragă și să abandoneze o mare parte din teritoriul ocupat.
Spre deosebire de Pesta, care a fost construită pe un teren plat, Buda a fost construită pe dealuri. Acest lucru a permis apărătorilor să plaseze artileria și fortificațiile deasupra atacatorilor, încetinind foarte mult avansul sovietic. Cetatea principală, (Dealul Gellért), a fost apărată de trupele Waffen-SS care au respins cu succes mai multe atacuri sovietice. În apropiere, forțele sovietice și germane luptau pentru cimitirul orașului printre mormintele deschise de obuze. La mică depărtare, luptele de pe Insula Margareta, din mijlocul Dunării, erau deosebit de nemiloase. Insula era încă atașată de restul orașului de jumătatea rămasă a Podului Margaret și a fost folosită ca zonă de lansare a parașutiștilor.
Pe 11 februarie 1945, Dealul Gellért a căzut în cele din urmă după șase săptămâni de lupte, când sovieticii au lansat un atac puternic din trei direcții simultan. Artileria sovietică a reușit să domine întreg orașul și să bombardeze apărătorii rămași, care erau concentrați pe mai puțin de doi kilometri pătrați și sufereau de malnutriție și boli. În ciuda lipsei de provizii, trupele Axei au refuzat să se predea și au apărat fiecare stradă și casă. Totuși, unii soldați maghiari capturați au dezertat și au luptat pe partea sovietică. Erau cunoscuți colectiv ca „Regimentul de Voluntari din Buda”.
O tentativă de scăpare
Hitler i-a interzis în continuare comandantului german, Pfeffer-Wildenbruch, să abandoneze Budapesta sau să încerce o scăpare. Însă zborurile cu planor (DFS 230) care aduceau provizii se terminaseră cu câteva zile în urmă, iar lansările cu parașutiști fuseseră, de asemenea, întrerupte.
În disperare, Pfeffer-Wildenbruch a decis să scoată rămășițele trupelor sale din Budapesta. Comandantul german nu îl consulta de obicei pe comandantul maghiar al orașului. Cu toate acestea, Pfeffer-Wildenbruch l-a inclus acum în mod neobișnuit pe generalul Iván Hindy în această ultimă încercare disperată de scăpare. În noaptea de 11 februarie, aproximativ 28.000 de soldați germani și maghiari au început să înainteze spre nord-vest, departe de Dealul Castelului. S-au mișcat în trei valuri. Mii de civili au însoțit fiecare val. Primul val a reușit să surprindă soldații și artileria sovietică, iar mulți au apucat să scape. Soldații și civilii din al doilea și al treilea val au fost mai puțin norocoși. Artileria sovietică și bateriile de rachete au ocupat zona de evacuare, cu rezultate mortale care au ucis mii de oameni. În ciuda pierderilor grele, cinci până la zece mii de oameni au reușit să ajungă pe dealurile împădurite de la nord-vest de Budapesta și să fugă spre Viena. Majoritatea au fost uciși, răniți sau capturați de trupele sovietice. Pfeffer-Wildenbruch și Hindy au fost capturați în timp ce ieșeau dintr-un tunel.
Capitularea
Apărătorii rămași s-au predat în cele din urmă pe 13 februarie 1945. Pierderile militare germane și maghiare au fost mari, divizii întregi fiind eliminate. Germanii au pierdut toată sau cea mai mare parte din Divizia 13 Panzer, Divizia 60 Panzergrenadier Feldherrnhalle, Divizia 8 SS Cavalerie și Divizia 22 SS Cavalerie Voluntaria. Corpul I maghiar a fost practic anihilat, precum și Diviziile 10 și 12 Infanterie și Divizia 1 blindată. Forțele sovietice au avut între 100.000 și 160.000 de victime.
Budapesta era în ruine, cu peste 80 la sută din clădirile sale distruse sau deteriorate, printre care clădiri istorice precum clădirea Parlamentului Ungariei și Castelul. Toate cele șapte poduri care traversau Dunărea au fost distruse.