Противник упорной обороной не позволил наступавшим войскам взять Естергом, и в то же время превосходящими силами старался сбить десант у Тата. 20 марта флотилия получила приказ поддержать войска, наступавшие на Естергом, и высадить подкрепление десантникам. Холостяков направил для высадки те же катера, которые высаживали десант. Однако противник был готов к встрече. Только немногие изрешеченные катера смогли пройти Естергомский мост и далее с повреждениями дойти до района Тата. Удалось высадить только 60 человек. Вечером 21 марта Естергом был взят. Это позволило Холостякову подвести туда корабли для поддержки десанта и наступавших далее войск. Лишь 23 марта удалось соединиться с десантниками, которые продержались 4 дня вместо двух. А 25 марта был завершен разгром неприятельской группировки. Приказ Верховного главнокомандования от 25 марта отмечал среди отличившихся в боях за Естергом, Нисмей и Тат и моряков контр-адмирала Холостякова [1173] .
Войска 2-го и 3-го Украинских фронтов продолжали продвигаться вперед. 25 марта 7-я гвардейская армия на левом берегу Дуная перешла в наступление, но была задержана противником. Более успешно наступала 46-я армия, которая выдвинулась вперед на 50 километров. Чтобы поддержать 7-ю гвардейскую армию, командующий 2-м Украинским фронтом приказал высадить на левый берег 83-ю бригаду морской пехоты. Корабли, предназначенные для переправы, провели под правым берегом; однако они получили повреждения от огня своих войск, не получивших предупреждения. 83-я бригада морской пехоты до утра 28 марта из-за разрушенных мостов не успела прибыть в район посадки на суда, Холостяков решил осуществить высадку днем. Свой командный пункт он расположил на правом берегу напротив места высадки. Пока корабли с десантом шли к месту высадки, авиация и артиллерия обрабатывала неприятельские позиции. Несмотря на то что противник сохранил способность сопротивляться, десант был высажен благополучно и вызвал дезорганизацию на приречном фланге противника. К полуночи десантники соединились с наступавшими войсками 7-й гвардейской армии. 25-й гвардейский стрелковый корпус при поддержке флотилии наступал с востока на Комарно. С запада наступал 23-й стрелковый корпус; поддержать его моряки не могли, так как русло Дуная преграждали обломки мостов. 30 марта Комарно был взят; первыми Военно-морской флаг подняли в порту моряки [1174] .
Дунайская флотилия поддерживала и переправляла войска, которые к 2 апреля вышли на подступы к Братиславе. Холостяков 3 апреля подтягивал к Карлсбургу катера и береговые части, которым предстояло обеспечить наступление на Братиславу. Штурм города начали в ночь на 4 апреля. Братислава пала 4 апреля, но только к вечеру 5 апреля при помощи моряков удалось взять правобережный пригород Петржалка. В приказах Верховного главнокомандования 30 марта и 4 апреля среди других были отмечены и моряки контр-адмирала Холостякова. А 4 апреля 1946 года Г.Н. Холостякову и другим отличившимся дунайцам национальный комитет Братиславы присвоил звание почетных граждан города [1175] .
Далее целью флотилии стала Вена. 6 апреля Ставка Верховного главнокомандования поручила взятие столицы Австрии войскам 3-го Украинского фронта, охватившего город с юго-востока, юга и юго-запада, а 2-му Украинскому фронту следовало переправить на левый берег Дуная 46-ю армию, чтобы отрезать пути отхода гитлеровцев на север и северо-запад. Холостяков решил 2-ю бригаду речных кораблей использовать для форсирования Дуная и поддержки 46-й армии; ей были подчинены Береговой отряд сопровождения и корабли 1-й бригады, действующие на Венском направлении. Корабли 2-й бригады, действующие на Вуковарском направлении, были подчинены командованию 1-й бригады. Сам контр-адмирал расположил командный пункт в Братиславе, чтобы поддерживать связь с командованием фронтов, своих соединений и частей. Командиры бригад должны были со штабами располагаться вблизи соответствующих сухопутных штабов. Несмотря на атаки вражеской авиации, с 6 по 14 апреля корабли флотилии переправили основные соединения 46-й армии, более 100 тысяч человек с вооружением и тылами. Чтобы расширить плацдарм и дезорганизовать оборону противника, Холостяков предложил высадить десант южнее Орта и наступать на город, чтобы помочь наступлению двигающегося навстречу 75-го стрелкового корпуса. Для высадки 2-я бригада речных кораблей, занятая переправой, могла выделить лишь 4 бронекатера и 3 минометных катера. Высадка первого эшелона прошла утром 8 апреля, а второй эшелон высаживали днем. Расширение плацдарма позволило ускорить переправу 46-й армии. А корабли флотилии шли на Вену. Холостяков направил основные силы для поддержки войск 4-й гвардейской армии, которая наступала у правого берега реки. Остальные катера поддерживали переправу и наступление войск 46-й армии [1176] .
Так как войска не могли взять единственный уцелевший мост, Холостяков поддержал предложение капитана 2-го ранга Аржавкина высадить десант сразу на оба конца моста. Чтобы пройти по фарватеру, загражденному обломками и затопленными судами, Аржавкин 11 апреля предпринял прорыв днем. Десантники под обстрелом высадились, предотвратили взрыв и двое суток удерживали мост. И при прорыве, и на отходе катера под обстрелом несли потери, но все вернулись. Благодаря их помощи 13–15 апреля советские войска разгромили группировку противника в Вене и группировку, пытавшуюся отойти на север. В приказах 13 и 15 апреля 1945 года в числе отличившихся отметили корабли и части Дунайской флотилии. В дальнейшем Холостяков руководил тралением на Дунае, а часть кораблей использовали для поддержки продолжавших наступление советских войск. Боевые действия продолжались до 9 мая. Холостяков намеревался уничтожить обнаруженные на реке более 30 судов и кораблей противника, но в связи с капитуляцией Германии операция была отменена [1177] .
Пока шли бои в Австрии, флотилия вела боевые действия на Вуковарском направлении. До 9 апреля корабли переправляли войска Народно-освободительной армии Югославии и поддерживали огнем их фланг. В ночь на 12 апреля по приказу Холостякова корабли 1-й бригады речных кораблей осуществили высадку 5-й бригады югославских войск в районе Опатовац – Сотин. Десант при поддержке артиллерии кораблей взял Опатовац. Фронт противника был прорван. 12–13 апреля югославские войска при поддержке флотилии очистили от противника последний участок на правом берегу Дуная и продолжили преследование отходившего врага.
Параллельно с поддержкой войск флотилия вела траление. Тральщики брались за работу, как только часть реки освобождали от противника. Для обеспечения безопасности судоходства было организовано размагничивание судов и кораблей. Командование флотилии применило групповой метод очистки фарватеров от мин, применяя на полосе 60–100 метров различные виды уничтожения мин. В результате за сутки тральщики флотилии прокладывали 40–45 километров фарватеров. Фарватеры на Дунае были проложены от Джурджу до Вены [1178] .