1944. december 24-én késő délután meglepő élményben volt részük a fogaskerekű vasút svábhegyi állomásánál várakozó utasoknak. Az állomásnál a szokásos karácsony előtti élet folyt: sült gesztenyét és karácsonyfát árultak. Általános meglepetést keltett azonban, amikor a szerelvényre váró utasok között ismeretlen egyenruhát viselő katonák tűntek föl, akik vásároltak némi gesztenyét, majd fölszálltak a vonatra. A vonaton aztán valaki fölismerte őket: szovjet katonák voltak. Valaki ijedtében meghúzta a vészféket, mire a szovjet katonák pár utastól elvették az óráját és – legalábbis az egyik változat szerint – eltűntek az erdőben.
Senki nem számított arra 1944 karácsonyának előestéjén, hogy a szovjet hadsereg nyugati irányból fogja elérni a főváros lakott területeit. Azt a város lakói nagyjából sejtették, hogy hamarosan komoly harci események színtere lesz Budapest, hiszen december 20. körül a szovjet csapatok már Pest előterében álltak, ahol komoly erődítési rendszer védte a várost. A nyugati oldalról, vagyis a budai hegyek felől azonban senki nem számított támadásra, így itt komolyabb védelmi vonalak sem voltak. A karácsonyra készülő, a háború és a nyilasterror szörnyűségeihez képet összességében mégis békés hangulatú városban ezért komoly megdöbbenést és riadalmat keltett, amikor december 24-én este híre ment, hogy a szovjet csapatok már a Hidegkúti úton járnak.
1944 októberének végén szovjet győzelemmel ért véget a Debrecen környékén vívott páncélos ütközet. A Vörös Hadsereg következő célpontja Budapest lett, aminek elfoglalására a következő hetekben komoly hadműveletek kezdődtek: november első napjaiban a Duna-Tisza-közének északi részét elfoglalva 15 kilométerre megközelítették a fővárost, ahol innentől fogva már hallani lehetett az ágyúszót. November végére sikeresen átkeltek a Duna Budapesttől délre elterülő szakaszain, december 9-én pedig már a Dél-Dunántúlt elfoglalva a Balaton vonalában húzódott a front, így belátható közelségbe került a főváros bekerítése.
Budapest frontvárossá vált, a német és magyar védőcsapatok rohamtempóban folytatták a főváros védelmének előkészítését. A fő támadást keleti irányból várták, hiszen a szovjet csapatok itt már Budapest elővárosait is megközelítették, így itt kezdték el kiépíteni az Attila-vonalat. Noha a német és a magyar katonai vezetők is tisztában voltak azzal, hogy Budapest nagy valószínűséggel nem védhető meg, Hitler parancsa egyértelmű volt: Budapestet mindenáron védeni kell, tekintet nélkül a város és a civil lakosság veszteségeire.
December 20-án a szovjet csapatok döntő támadást indítottak a Dunántúlon. A Balaton vonalától északra, Székesfehérvár és Esztergom irányába induló támadás célja az volt, hogy a Dunakanyar vidékén egyesülve a keletről, Vác-Göd irányából támadó csapatokkal körülzárják, és ha lehetséges, menetből elfoglalják Budapestet. A haditerv két nap alatt nagy sikert ért el: a szovjet csapatok áttörték a németek által védett frontvonalat, és Bicskét elfoglalva december 22-én lényegében nyitva állt előttük az út Buda felé. December 24-én napközben már a budai hegyekben bukkantak fel az első szovjet alakulatok, ami készületlenül érte a Budapest védelméért felelős magyar és német parancsnokokat.
A német és a magyar hadvezetés pontosan tájékoztatva volt a kibontakozó kritikus helyzetről. A december 20-án indult dunántúli támadás veszélyességével a különböző rangú német parancsnokok tisztában voltak, érdemi intézkedést azonban nem tettek. Friessner vezérezredes, a német Dél Hadseregcsoport parancsnoka és Pfeffer-Wildenbruch tábornok, Budapest védelmének német parancsnoka egyaránt sürgette Hitlert, hogy engedélyezze jelentős alakulatok átcsoportosítását a pesti oldalról a nagyon gyengén védett budai hegyek megerősítésére.
Hitler vonakodott megadni az engedélyt, így cselekvés hiányában a budapesti német parancsnok inkább kockáztatta Budapest nyugatról történő bekerítését, mint hogy Hitler parancsa ellenére Pestről erőket csoportosítson át ennek megakadályozására. Guderian vezérkari főnök sürgetésére végül Hitler csak december 24-én délután adott jelentős csapattestek átcsoportosítására engedélyt. Ekkorra az a bizonyos szovjet alakulat már elfogyasztotta a gesztenyét a fogaskerekű Sváb-hegyi állomásán.
Nem valószínű azonban, hogy a nagy erőkkel előrenyomuló szovjet csapatok ellen a hirtelen átcsoportosított német erők bármilyen érdemi eredményt érhettek volna el, ráadásul a pesti oldalon is támadásba lendülő szovjetek ellen is szükség volt minden katonára. Hindy Ivánnak, a budapesti magyar parancsnoknak pedig még a csapattestek átvezényléséhez sem volt joga, hiszen a magyar honvédség alakulatai fölött is a németek rendelkeztek.
1944. december 24-én Budapest a karácsony előtti „szokásos” napokat élte át. A színházak és a mozik még nyitva voltak, a tömegközlekedés és a városi közszolgáltatások működtek. December 24-e volt az a nap, amikor a városlakók először érzékelhették közvetlenül a szovjet hadsereg érkezését. A szovjet páncélosok ezen a napon reggel nyolc óra körül már Budakeszi előtt jártak, délután 1 órára pedig kiértek a Budakeszi út és a mai nevén Hűvösvölgyi út találkozásához, ahol a magyar és a német alakulatokkal heves tűzpárbaj alakult ki. Ekkor lőtték ki az első szovjet páncélost is Budapesten. Közben a gyalogság is támadásba lendült: a budakeszi erdőn át a Sváb-hegyen át igyekeztek beszivárogni a fővárosba.
Ungváry Krisztián történész Budapest ostroma című könyvében több olyan történetről is beszámol, amely a békés, polgári életét élő város és a váratlanul fölbukkanó ellenség találkozásának szokatlan körülményeit meséli el. A zugligeti villamos-végállomáson szolgálatot teljesítő közlekedési alkalmazott például kétségbeesve hívta föl a Sion-zárdában állomásozó hadtestparancsnokságot, hogy tájékoztassa őket: az állomásra szovjet katonák érkeztek, gúlába rakták a puskáikat, és élelmet osztanak. Tanácsként mindössze annyit mondtak neki, hogy igyekezzen meghúzni magát, ne keltsen feltűnést, hiszen a szovjetek nem biztos, hogy különbséget tudnak tenni a katonák és az akkori BKV alkalmazottainak uniformisa közt. A szépilonai villamosremíz mellett posztoló rendőr a német parancsnokságot értesítette, miután alaposan megijesztette őt egy szovjet tank, amikor célba vette. Több visszaemlékezés szól arról, hogy egészen váratlan helyen találkoztak civilek és katonák szovjet alakulatokkal.
Eközben a német parancsnokság igyekezett erőket átcsoportosítani a budai hegyek védelmére. Ez azonban a karácsony előtti utolsó napon hagyományosan erős gyalogosforgalom közepette nem ment könnyen, így a védelem még 25-én is meglehetősen foghíjas maradt. December 25-én és 26-án folytatódott a szovjet hadsereg lassú előrenyomulása Buda nyugati részein, 25-én még a vörös lobogót is kitűzték a János-hegyi kilátóra, és elérték a János kórházat is.
A szovjet csapatok azonban leálltak a támadással, nem éltek a váratlan lehetőséggel. Ennek fő oka az volt, hogy a Budapestet elérő alakulatok elsősorban gyalogsági támogatás nélküli páncélosok voltak, amelyek a nagyvárosi, utcai harcban különösen sebezhetőek lettek volna. Be kellett várniuk, amíg a gyalogság is felzárkózik és az utánpótlás vonalai is kiépülnek, és csak azután, a meglepetés erejének némi gyengülésével folytatták az előrenyomulást.
Buda belseje felé nem nyomultak tovább a szovjet csapatok, ám észak felé annál inkább folytatták az előrehaladást: faluról falura haladva foglalták el a Budapestről nyugatra elterülő vidéket. December 25-én már Dorog is a kezükön volt, estére pedig Pilisvörösvárt is elérték. Másnap estére aztán a szovjet gyalogság elérte Szentendrét, 27-én reggelre pedig a páncélosok is megérkeztek. Átkeltek a Szentendrei-szigetre, a „pesti oldalon” pedig már ott voltak a keletről támadó szovjet alakulatok. Budapest bekerítése tehát befejeződött, noha néhány napig még azok, akik rendelkeztek helyismerettel vagy szerencsések voltak, még ki tudtak menekülni a körülzárt fővárosból. A szovjet hadsereg aztán megerősítette a külső gyűrűt, így december végétől már szinte lehetetlen volt kijutni.
A főváros belső élete is nagy változáson ment keresztül ezen néhány nap alatt: leállt a tömegközlekedés, az utolsó szentendrei HÉV – immáron kivilágítatlanul, hogy ne keltsen feltűnést – december 25-én este ment el. Ezt követően fokozatosan leálltak a közszolgáltatások is: mire véget ért az 1944. év, már nem volt villany és gáz, január elején pedig a vízszolgáltatás is megszűnt. A polgári lakosságra nagy szenvedés zúdult, hiszen a harcot a szó szoros értelmében a pincékben kialakított óvóhelyekre menekült lakosság feje fölött vívták, akiknek élelmezéséről és egészségügyi ellátásáról senki nem gondoskodott. A harcok mellett pedig a városban maradt nyilasok terrorja tette még nehezebben elviselhetővé az 1944 karácsonyán kezdődött ostromot a budapestieknek.