17 марта в наступление перешли передовые отряды 46-й армии 2-го Украинского фронта. В течение дня они продвинулись до 10 км и вышли ко второй полосе обороны противника. На следующий день главные силы 46-й армии форсировали реку Альталь и начали продвигаться на запад. Противник упорно сопротивлялся, но остановить наступавших не смог. Введенный в сражение утром 19 марта 2-й гвардейский механизированный корпус усилил удар. Во второй половине 20 марта части корпуса вышли к Дунаю западнее Товароша, охватив с юго-западную группировку врага, которая насчитывала более 17 тысяч солдат и офицеров[70]. Одновременно на правом берегу Дуная, в этом же районе, была осуществлена высадка десанта 83-й отдельной морской стрелковой бригады, входившей в состав Дунайской военной флотилии. Несмотря на то, что участок реки, где пришлось действовать флотилии, был заминирован, проход кораблей в районе Эстергома затруднен упавшими в воду фермами подорванного железнодорожного моста, а оба берега Дуная сильно укреплены, флотилия выполнила поставленную задачу. Десантники действовали решительно и быстро, нанося удары по тылам врага. Наступление войск фронта южнее Дуная активно поддерживалось авиацией 5-й воздушной армии. Для развития успеха 46-й армии был передан из 3-го Украинского фронта 23-й танковый корпус.
46-я армия развернула наступление на Дьер. Частью сил она приступила к ликвидации окруженного противника. Вечером 21 марта значительные силы пехоты врага, поддержанные 130 танками и штурмовыми орудиями, попытались деблокировать окруженную группировку. Соединения 46-й армии были потеснены, но положение удалось восстановить силами подошедших резервов. В последующие дни войска 46-й армии во взаимодействии с десантниками Дунайской военной флотилии, которые с 21 по 25 марта отбили 18 контратак врага, полностью ликвидировали окруженную группировку противника. На остальном фронте вражеские войска начали отходить на запад.
К 26 марта войска 46-й армии 2-го Украинского и правого крыла 3-го Украинского фронтов прорвали оборону противника между Дунаем и озером Балатон, преодолели горы Вертеш и Баконь и, продвинувшись на глубину до 80 км, создали условия для развития наступления на Вену. Воспользовавшись успешными действиями к югу от Дуная, 25 марта начали наступление на Братиславу и Брно войска 2-го Украинского фронта.
С 26 марта 46-я армия 2-го и войска правого крыла 3-го Украинских фронтов перешли к преследованию врага на всем фронте. 46-я армия 28 марта овладела городами Комаром и Дьер и полностью очистила правый берег Дуная до устья реки Раба. Еще более стремительно наступали войска 3-го Украинского фронта. Противник пытался удержать подготовленный рубеж по левому берегу Рабы, но войска правого крыла фронта, с ходу форсировав реку, сломили его сопротивление и продолжали продвижение. 30 марта подвижные соединения фронта при поддержке авиации 17-й воздушной армии с ходу прорвали пограничные укрепления врага на венгеро-австрийской границе южнее Шопрона и вступили в пределы Австрии.
Продвижение 26-й и 27-й армий фронта к Шопрону и Сомбатхею, а также в юго-западном направлении привело к угрозе охвата 2-й танковой армии противника с севера, которая с боями начала отходить из района южнее озера Балатон. Воспользовавшись этим, 29 марта начали наступление 57-я советская и 1-я болгарская армии. Преодолев оборону противника, соединения этих армий и 5-й гвардейский кавалерийский корпус, который нанес стремительный удар с севера, 2 апреля овладели центром нефтеносного района Венгрии городом Надьканижа.
Чтобы сдержать натиск войск левого крыла 3-го Украинского фронта, противник начал перебрасывать сюда с югославского участка фронта части и соединения группы армий «Е». Руководство германскими войсками на юго-востоке было реорганизовано с целью большей его централизации. С 25 марта командование группой армий «Ф» было передано командующему группой армий «Е» генералу Л. Леру, а штаб группы армий «Ф» убыл в распоряжение группы армий «Висла» в Центральной Германии. Но все эти меры не дали врагу ожидаемых результатов. Вследствие того что советские войска успешно продвигались на Братиславу и Брно, командующий группой армий «Юг» лишился возможности снимать войска с участка севернее Дуная для переброски их против 46-й армии и главных сил З-го Украинского фронта, быстро наступавших с востока и юго-востока к Вене.