Стратегическая наступательная операция войск второго Украинского фронта, под командованием маршала Родиона Малиновского и частей сил третьего Украинского фронта маршала Федора Толбухина с целью освобождения Будапешта, началась 29 октября 1944 года. Наземные войска поддерживали авиация и Дунайская флотилия контр-адмирала Георгия Холостякова.
В Будапештской операции вместе с советскими войсками сражались первая болгарская армия, румынские соединения и венгерский добровольческий Будайский полк. Войскам двух фронтов противостояли группа армий «Юг» генерал-полковника Йоханнеса Фриснера и часть сил группы армий «Ф» - всего 51 немецкая и венгерская дивизия и две бригады.
К моменту начала операции войска 2-го Украинского фронта вышли на рубеж Чоп, Сольнок, Байя, где им противостояли войска немецко-фашистской группы армий «Юг», а также части венгерской армии. Войска 3-го Украинского фронта, освободив Белград, готовились наступать в Задунайскую Венгрию.
Противник создал на подступах к Будапешту глубокую оборону, состоявшую из трех обводов, которые опирались флангами на реку Дунай севернее и южнее города - это была составная часть оборонительной линии «Маргарита».
В конце октября части 2-го Украинского фронта нанесли фронтальный удар с целью овладения Будапештом, но сил для этого оказалось недостаточно. Наступление было приостановлено. В начале декабря войска левого крыла фронта вышли к Дунаю севернее и северо-западнее Будапешта, отрезав будапештской группировке противника пути отхода на север. Войска 3-го Украинского фронта к этому времени форсировали Дунай, вышли в район северо-восточнее озера Балатон и создали условия для совместных действий со вторым Украинским фронтом.
Начав 20 декабря наступление, советские войска прорвали оборону противника севернее и юго-западнее Будапешта и, развивая успех, 26 декабря соединились в районе Эстергома, завершив окружение. В дальнейшем бои за город вела специально созданная Будапештская группа войск под командованием генерал-лейтенанта Ивана Афонина, затем генерал-лейтенант Иван Манагаров, при участии венгерских добровольцев.
Советское командование 29 декабря 1944 года направило окруженному немецко-венгерскому гарнизону ультиматум о капитуляции, но он был отвергнут, а парламентеры убиты.
Советские войска 18 января 1945 года овладели левобережной частью города - Пештом. В правобережной части - Буде, превращенной в гигантскую крепость, ожесточенные уличные бои продолжались еще почти четыре недели. Стремясь сохранить памятники архитектуры и не причинять городу сильных разрушений, советское командование избегало применять тяжелую артиллерию и авиацию.
Главная тяжесть боев на улицах легла на небольшие штурмовые группы и саперов. Ситуация осложнялась неоднократными попытками деблокировать окруженный гарнизон. Лишь после провала третьей, наиболее активной попытки прорыва, окруженная в Буде группировка 13 февраля прекратила сопротивление. В плен сдались более 138 тысяч солдат и офицеров противника. Командовавший гарнизоном генерал Карл Пфеффер-Вильденбрух был взят в плен.
Из взятых советскими войсками европейских столиц Будапешт занял первое место по длительности уличных боев. Безвозвратные потери второго и третьего Украинских фронтов и Дунайской военной флотилии составили более 80 тысяч человек, санитарные - 240 тысяч человек.
Успешное завершение Будапештской операции резко изменило стратегическую обстановку и позволило развить глубокий охват южного фланга немецко-фашистских войск. Венгрия вышла из войны на стороне фашистской Германии. Создалась угроза коммуникациям балканской группировки противника, который был вынужден ускорить отвод своих войск из Югославии. Войска второго и третьего Украинских фронтов получили возможность развивать наступление в Чехословакии и на Вену.
Указом Президиума Верховного Совета СССР 9 июня 1945 года была учреждена медаль «За взятие Будапешта». Ею награждались непосредственные участники штурма города, а также организаторы и руководители боевых операций. Медалью «За взятие Будапешта» награждено около 370 тысяч человек.