Также по оценке К. Унгвари, непосредственно в штурме Будапешта участвовали войска 2-го Украинского фронта общей численностью в 177 тыс. человек, не считая пополнений, и 7-й румынский армейский корпус численностью 36 тыс. человек.
Численность гарнизона Будапешта по количеству едоков уменьшилась с 79 тыс. 24 декабря 1944 года до 70 тыс. 3 января 1945 года, до 45 тыс. к 20 января и до 32 тыс. к 11 февраля, к моменту прорыва. На соответствующие даты в боевых частях насчитывалось 35 тыс., 30 тыс., 16 тыс. и 11 тыс. человек.
Противостоявшие германо-венгерским советские и румынские войска насчитывали 24 декабря 156 тыс. человек, включая 85 тыс. боевого состава. 3 января их численность упала до 145 тыс. человек (80 тыс. боевого состава), 20 января — до 80 тыс. (40 тыс.) и 11 февраля до 75 тыс. (36 тыс.). Как нам представляется, Унгвари занижает боевой состав советских войск, который, с учетом пополнений, направлявшихся только в боевые части, достигал не менее 60 % от общей численности. С учетом этого реальный численный перевес в боевых частях на советской стороне был в 3–4 раза. Фактически же он был еще больше, принимая во внимание острую нехватку боеприпасов у осажденных, отсутствие у них поддержки с воздуха, низкую боеспособность венгерских войск, составлявших до трети боевого состава, и достаточно низкую боеспособность половины немецких войск. В Будапеште венгры значительно уступали по боеспособности советским, да и румынским солдатам, бойцы двух эсэсовских кавалерийских дивизий по боеспособности были примерно равны советским солдатам, лишь бойцы других эсэсовских частей, а также танковой и моторизованной дивизий превосходили по боеспособности противостоявших им советских и румынских военнослужащих.
Случаи грабежа в Будапеште со стороны немецких военнослужащих имели место, но достаточно жестко пресекались командованием и касались только продуктов питания. Один из немецких солдат был приговорен к смертной казни за то, что украл полкило кофе, но Пфеффер-Вильденбрух заменил расстрел десятью сутками гауптвахты, принимая во внимание незначительность кражи. В занятых советскими войсками кварталах продовольствие реквизировалось. За него либо не платилось ничего, либо выдавались боны, которые в будущем очень трудно было чем-либо отоварить.
Малиновский не торопился со взятием Будапешта, чтобы не увеличивать зря советские потери. 1 января 1945 года в штурме города участвовали 30-й стрелковый и 18-й гвардейский стрелковый корпуса, а также 7-й румынский армейский корпус, насчитывавшие 7 стрелковых дивизий, 2 румынские пехотные дивизии, 1 румынскую кавалерийскую дивизию, поддержанные несколькими десятками танков, САУ и 1037 орудиями, что давало более чем трехкратное превосходство в артиллерии над германо-венгерским гарнизоном. Фактически перевес был еще выше, так как у обороняющихся было мало боеприпасов, особенно к крупнокалиберной артиллерии. 11 января все войска, действовавшие в городе, были объединены в «группу Будапешт» во главе с командиром 18-го отдельного стрелкового корпуса генерал-лейтенантом Иваном Михайловичем Афониным. 24 января он был тяжело ранен и заменен генерал-лейтенантом Иваном Мефодьевичем Манагаровым.
15 января 7-й румынский корпус был выведен из Будапешта. В боях непосредственно в городе он потерял 2548 убитых и раненых. По советским данным, возможно, заниженным, за 1-10 января 1945 года 18-й гвардейский стрелковый корпус потерял 791 убитого, 50 пропавших без вести, 1 погибшего по небоевым причинам, 2567 раненых и 72 эвакуированных больных. Приданные ему танковые части безвозвратно потеряли 20 танков. С 18 января, после занятия советскими войсками Пешта, начался штурм Буды. Его осуществляли 18-й, 37-й и 75-й гвардейские стрелковые корпуса, насчитывавшие 11 стрелковых дивизий и 1 бригаду морской пехоты. К 1 февраля их поддерживали 650 полевых и 134 противотанковых орудия, 589 минометов, 24 установки залпового огня («катюши»). С 1 по 10 февраля будапештская группировка советских войск, по, возможно, заниженным данным, потеряла 1044 человека убитыми, 52 — пропавшими без вести, 4 — погибшими по небоевым причинам, 3407 — ранеными и 276 — заболевшими. 9 танков было потеряно безвозвратно и еще 3 повреждены.
27 января Гитлер разрешил будапештской группировке при необходимости прорваться из окружения. 9 февраля фюрер дал окончательное разрешение на прорыв.
Учитывая, что советские войска, действовавшие в Будапеште, практически не уступали противнику по боеспособности, а венгров даже превосходили, ситуация в уличных боях была для них совсем иная, чем в свое время в Сталинграде. К тому же советская сторона имела перевес в артиллерии, авиации, танках и обеспеченности боеприпасами. Поэтому войскам Малиновского выгоднее было вести уличные бои, чем сражаться в поле, и их потери в боях в Будапеште вряд ли превышали потери противника.
Генерал-лейтенант Александр Иванович Мальчевский, в 1944–1945 годах командовавший 110-й гвардейской стрелковой дивизией, свидетельствовал о периоде боев за освобождение Чехословакии:
«Командующий 2-м Украинским фронтом маршал Родион Малиновский, напутствуя меня, особо подчеркивал, — “Ваш долг выполнить мое задание и сберечь людей. Требую — беречь солдат, прикрывать их всегда огнем. Я строго спрошу за потери. Если можно обойтись огнем — не посылайте туда людей”. Честно говоря, такое требование за три года войны я слышал впервые. Таким запомнился мне этот полководец — ровным, спокойным, не повышающим голоса на подчиненных. Поразило, как бережно, уважительно и тактично, в полном смысле слова — гуманно относился он к людям. Никогда не терял присутствия духа и не выходил из себя».
В январе немцы с помощью 4-го танкового корпуса СС предприняли первую попытку деблокировать Будапешт. Более подходящая для действий танков равнинная местность была в районе Секешфехервара, к юго-западу от венгерской столицы. Но переброска туда двух танковых дивизий требовала пять лишних дней и значительного расхода дефицитного горючего по сравнению с вариантом наступления с позиций северо-западнее Будапешта, где, однако, танкам пришлось бы преодолевать горную местность. Учитывая фактор времени, германское командование остановилось на северо-западном варианте. Операция по деблокаде Будапешта получила название «Конрад».
Вечером 1 января 1945 года она началась. 4-й танковый корпус СС (3-я танковая дивизия СС «Мертвая голова», 5-я танковая дивизия СС «Викинг» и 96-я пехотная дивизия) атаковал из района Таты (восточнее Комарно) в направлении на Будапешт. В наступлении участвовали две трети подразделений «Тотенкопфа» и лишь треть подразделений «Викинга». 96-я пехотная на тот момент имела лишь чуть более 40 % своих войск. Только 6 января прибыли недостающие части.
Предложение венгерского командования использовать в наступлении венгерские 1-ю гусарскую, 2-я танковую и 23-ю резервную дивизии было отклонено из-за их полной небоеспособности. Дело ограничилось участием в «Конраде» двух батальонов венгерской боевой группы «Ней».
6 января 3-й Украинский фронт ввел в бой резервы. 7 января 5-я танковая дивизия СС «Викинг» взяла Чабди, но была остановлена 18-м танковым корпусом около Бичке, в 28 км от Будапешта. Попытка окружить десять советских дивизий не удалась.
Тем не менее, Толбухин оценил обстановку как критическую. Он не исключал прорыва кольца окружения и отхода советских войск от Будапешта. Маршал приказал создавать специальные рубежи обороны с противотанковыми орудиями.
К началу наступления 3-я танковая дивизия СС «Тотенкопф» имела 16 танков T-IV, 29 «пантер», 11 «тигров» и около 20 «Ягдпанцер-IV». 5-я танковая дивизия СС «Викинг» имела 10 T-IV, 22 «пантеры», 12 «Ягдпанцер-IV» и 4 штурмовых орудия. Боевая группа Папе имела 59 «пантер», 20 «Ягдпанцер-IV» и 5 «Ягдпанцер-38». Противостояли ему советские 18-й танковый корпус (120 Т-34, 19 ИС-2, 11 СУ-85), 1-й гвардейский механизированный корпус (62 СУ-100, 184 «Шермана») и 2-й гвардейский механизированный корпус (35 Т-34, 8 ИС-2, 11 СУ-85). Потери 4-го танкового корпуса СС 1–7 января составили 529 убитых, 2625 раненых, 358 пропавших без вести, 39 уничтоженных и поврежденных танков и штурмовых орудий.