С 20 апреля по 12 декабря 1944 года С.Г. Горшков командовал Дунайской флотилией, которая поддерживала советские войска в наступлении по Восточной Европе. Флотоводец в полной мере научился выполнять сложные задачи, руководя соединением, в которое входили самые разные суда, умело планировал операции, координировал действия судов с авиацией и сухопутными войсками. В организационный период флотилия тралила мины и проводила подготовку кораблей, сбор информации и изучение обстановки. В июле—августе моряки готовились к наступлению. В ночь на 22 августа флотилия скрытно, без артподготовки, форсировала Днестровский лиман. Высаженный десант вскоре овладел Аккерманом.
Командующий и в этой, и в последующих операциях использовал методы, ведущие к победе: тщательное планирование и подготовка, внезапность и стремительность действий, отработанное сотрудничество различных сил флотилии между собой и с сухопутными войсками. Он требовал от штаба четкого руководства действиями и сам нередко выезжал на места.
24 августа корабли прорыва при поддержке авиации и торпедных катеров вошли в Килийское гирло Дуная, заняли Вилково, Килию, Тульчу и другие населенные пункты, а бронекатера направились вверх по Дунаю, освобождая берега от противника. 25 августа был взят Измаил. Стремительно наступая, нередко моряки захватывали порты до того, как к ним подходили войска фронта. 27 августа флотилия выполнила задачу, овладев руслом реки до Галаца. 31 августа бронекатера флотилии заняли остров Змеиный. 27–29 августа по требованию Горшкова капитулировали суда Румынской речной дивизии.
8 сентября советские войска вступили в Болгарию. Переправу в районе Измаил — Галац и у Тульчи и Исакчи в конце августа — начале сентября 1944 года обеспечивали корабли Дунайской флотилии. В сентябре флотилия проводила траление, перевозку и переправу войск и грузов на Дунае.
В период освобождения Болгарии и Румынии имя Горшкова не раз упоминали приказы Верховного главнокомандующего. В сентябре 1944 года его произвели в вице?адмиралы.
В Белградской операции (28 сентября — 20 октября) Дунайская флотилия содействовала наступлению войск, проводила траление на реке и наблюдение за минными постановками противника, переправу и перевозку войск и грузов для них. Река была разбита на участки, подчиненные старшим морским командирам. В боях за Радуевац и Прахово (28–30 сентября) силы флотилии использовали для поддержки наступления артиллерию кораблей и высадили десанты, чем способствовали окружению и ликвидации неготинской группировки противника. К середине октября советские войска вышли к Белграду. Командование Дунайской флотилии организовало проход отряда бронекатеров через Железные Ворота на Дунае. Моряки способствовали взятию порта Смедерово, что открывало путь на Белград. 17 октября бронекатера флотилии прорвались по реке к столице Югославии и установили связь с армейскими частями. Они поддерживали действия наступающих войск до 20 октября, когда Белград был освобожден. Одновременно силы флотилии осуществляли траление, перевозки и переправы на Дунае.
Осенью 1944 года Дунайская флотилия приблизилась к границам Венгрии. В ходе Будапештской операции переправа войск способствовала окружению будапештской группировки войск врага. В последние месяцы 1944 года флотилия высадила 20 тактических десантов, очистила от мин 2500 километров рек, участвовала в освобождении Белграда и Будапешта, была награждена орденами Красного Знамени, Нахимова 1?й степени и Кутузова 2?й степени.
С.Г. Горшков стоял во главе Дунайской флотилии до 12 декабря 1944 года. С января 1945 года вице?адмирал принял командование эскадрой Черноморского флота. В представлении на эту должность было написано: «Назначение тов. С.Г. Горшкова на должность командующего эскадрой преследует цель дать боевое ядро флота в руки опытного, решительного и боевого адмирала». В послевоенные годы вице?адмиралу пришлось заниматься ремонтом поврежденных кораблей, восстановлением баз. С ноября 1948 года Горшков состоял начальником штаба флота, со 2 августа 1951 года по 12 июля 1955 года — командующим Черноморским флотом.
В 1955 году возглавлявший тогда Военно?морской флот Н.Г. Кузнецов назначил своим 1?м заместителем С.Г. Горшкова. Когда в январе 1956 года Н.Г. Кузнецов, сторонник развития сбалансированного флота, ушел в отставку из?за несогласия с деятельностью Н.С. Хрущева, его сменил Горшков. Главкому ВМФ, заместителю министра обороны СССР пришлось выполнять постановление Совета Министров СССР от 25 марта 1958 года, в соответствии с которым были сданы на металлолом десятки кораблей и судов. При резком сокращении личного состава с флота ушло немало хороших специалистов. Со временем эти ошибки пришлось исправлять.