Az 1848. december 14–16. között megindult koncentrikus császári támadás elől a nyugati határszélen védekező, Görgei Artúr vezérőrnagy parancsnoksága alatti (...) feldunai hadsereg részei a Duna két partján hátráltak, hogy a sáncokkal megerősített Győrben egyesüljenek. Az eredetileg 26 ezer főt számláló magyar hadtest létszáma azonban kb. 15 ezer főre csökkent, ugyanis csapatokat hagytak hátra Komárom és Lipótvár védelmének megerősítésére. Győr felé tartott a Mura mellől visszavonuló, bonyhádi Perczel Mór vezérőrnagy vezette hadtest is.
A Győr körüli sáncokat azonban alaposan túlméretezték – legalább nyolcvanezer honvédre –, a sikeres védelem lehetőségét pedig jelentősen csökkentette, hogy a mínusz 15–20 fokos hidegben a város körüli vizenyős területek befagytak és járhatóvá váltak, vagyis az erődítéseket átkarolhatta az ellenség. A császáriak mégsem támadtak, hanem nekiláttak, hogy gyűrűt vonjanak a város körül. Görgei kilenc napig maradt Győrben, így elegendő ideje maradt az újoncozásra, a hadikészletek és az állami vagyon hátramenekítésére.
Azon a nézeten volt, hogy a császári-királyi fősereg a Duna bal partján támad a főváros felé, így Kossuthnak Vácra kellene összpontosítania a Délvidékről felrendelt magyar csapatokat.
Amikor kiderült, hogy herceg Alfred zu Windisch-Grätz tábornagy főserege a Duna jobb partján áll, Görgei már nem tudta átszállíttatni a folyó bal partján lévő erőit. December 26-án levélben tájékoztatta Kossuthot, hogy kénytelen kiüríteni Győrt és Bánhida felé vonulni, mire ez ellen az Országos Honvédelmi Bizottmány elnöke tiltakozott és Perczel feláldozását emlegette. Görgei hadteste másnap reggel hét órára elhagyta a várost, így az oda bemasírozó császári csapatok csak hűlt helyüket találták.
A Feldunai hadsereg négy oszlopban vonult vissza a Buda felé vezető Mészáros úton és a 29 km-re fekvő Bábolna pusztán állt meg. A parancsnokság egy része a Szapáry-kastélyban – míg táborkara Felsőgallán – töltötte az éjszakát, a csapatok pedig a szabad ég alatt dideregtek. Hajnalban szedték a sátorfájukat, és kezdték meg menetüket Igmánd felé, de arra is volt gondjuk, hogy a bábolnai ménest is magukkal vigyék. A hátrálást a bábolnai Jáger-majornál álló utóvéd fedezte, amelynek parancsnoka görgői és toporczi Görgey Kornél huszár őrnagy, Görgei tábornok unokatestvére volt.
Windisch-Grätz Győrben értesült arról, hogy a magyarok Bábolnán éjjeleznek, így lovasságát küldte előre, hogy meglepjék a magyarokat. A császári I. hadtest Győrszabadhegyen „laktáborozó” Ottinger-lovasdandára nyeregbe szállt, ám a császári tartalékhadtest parancsnoka – a lovak fáradtsága okán – az alárendeltségébe tartozó, Győrszentivánnál lévő Bellegarde-lovasdandárnak e parancsot nem adta át.
A báró Josip Jelačić altábornagy hadtestéhez tartozó lovasdandár parancsnoka, Ottinger Ferenc vezérőrnagy soproni születésű volt és elég alaposan ismerte a magyar sereget, hiszen tavasszal rövid ideig elnöke volt az Országos Nemzetőri Haditanácsnak, tevékenykedett ideiglenes magyar hadügyérként és augusztus derekáig a Dráva mentén álló magyar sereg parancsnoka volt. Egyik lovasezrede lekéste az indulást, így csupán a 6. Wallmoden- és a 7. Hardegg-vértesezred négy osztálya, az erősítésként kapott 1. Civalart-dzsidásezred egy osztálya – összesen tíz lovasszázad –, valamint az 1. hatfontos lovasüteg kerekedett fel.
December 28-án, csütörtök hajnali 2 órakor kellett volna meglepniük a magyar tábort, de a hideg, a köd, a hóesés és a sötétség, valamint egyes részeik késlekedése miatt csak reggel fél hatkor értek Bábolnára. A Feldunai hadsereg zöme már elhagyta a falut, s a 2591 főt és 14 löveget számláló utóvéd is megkezdte Bábolna kiürítését, miközben a gyalogságához tartozó német legionisták és önkéntes mozgó nemzetőrök betértek a falu keleti részén lévő csárdába, hogy az átfagyoskodott éjszaka után pálinkával, borral melegítsék fel magukat.
Ekkor bukkantak fel a ködből a császári lovasok, akiknek láttára pánik tört ki és a kialakulófélben lévő menetoszlop felbomlott. A Civalart-dzsidások a főutcán vágtattak a csárda felé, miközben Ottinger a falut északról megkerülve, egy osztály Wallmoden-vértessel és tüzérségével igyekezett erre, hogy lezárja a visszavonulási lehetőséget biztosító utat. A dzsidások a Császár- és a Württemberg-huszárok négy századát megfutamították, és rászorították a gyalogságra.
„Az Isten szerelmére, legalább az ágyúkat mentsétek meg!” – kiabálta Görgey őrnagy a huszároknak, mire páran megálltak, és segédkeztek az 1. tizenkét fontos- és a 4. lovasüteg tüzéreinek a visszavonulásban. A gyalogság összekeveredett kötelékei, a zemplén-gömöri önkéntes mozgó nemzetőrök és a német légió a település keleti széle felé, Nagyigmánd felé futottak. Egyedül a kassai 34. Porosz herceg-sorgyalogezred II. zászlóalja állt helyt.
A Bábolna és a farkaskúti major közötti útszakaszon Széll őrnagy parancsára négyszöget formáltak, és az ellenséges lovasságot bevárva, húsz lépés távolságról nyitottak tüzet. Két vértes, aztán egy dzsidás rohamot vertek vissza, végül a császári lovasság tüzérsége segítségével megbontotta a „Prinz Preussen” bakák alakzatát. A közelharc során egy dzsidás tizedes leszúrta a magyar zászlótartót, és elragadta a 34/II. sorgyalog zászlóalj zászlaját.