С началом русско-турецкой войны 1877–1878 гг. Гурко высочайшим повелением был откомандирован в действующую Дунайскую армию. По настоянию начальника Главного штаба генерала Д.А. Милютина после успешного форсирования в июне 1877 г. Дуная русские должны были двигаться через Балканы к Константинополю, стремясь разбить противника по частям (
Обстановка благоприятствовала русским, поскольку турецкое командование не ожидало появления здесь крупных сил противника. Пользуясь этим, Гурко стал энергично осуществлять поставленную задачу. 25 июня древняя столица Болгарии Тырново была взята. Местное население с восторгом встретило русских «братушек».
На очередь дня встало овладение перевалами. За Балканы можно было идти четырьмя проходами, наиболее удобным из которых являлся Шипкинский. Но турки сильно укрепили его, к тому же южнее, в районе Казанлыка, держали крупные резервы. Из оставшихся трех проходов турками не контролировался лишь наиболее трудный — Хаинкиойский. Гурко и избрал его, чтобы обойти шипкинскую позицию турок. Его отряд успешно преодолел перевал и 5 июля занял Казанлык. Сложилась ситуация, когда турок, засевших на Шипке, можно было одновременно атаковать как с севера, так и с юга, с тыла, куда вышел отряд Гурко. Русские не упустили такую возможность. После двухдневных ожесточенных боев противник, считая невозможным далее удержать позиции, отступил горными тропами к Филиппополю. 7 июля Шипкинский перевал был занят русскими.
До сих пор русским военачальникам противостоял престарелый и малокомпетентный Абди-паша. Но после потери Шипки турецкий генеральный штаб удалил его с поста главнокомандующего на Дунае. Большой простор для действий получил 45-летний генерал новой европейской формации Сулейман-паша. Это был достойный противник Гурко. За 17 дней по суше и по морю он сумел перебросить 25-тысячный корпус из Черногории, преодолев почти 700 км, и с ходу вступил в бой с русскими. Гурко предстояло не допустить его к Шипкинскому и Хаинкиойскому перевалам, для чего было решено занять оборону на рубеже Нова-Загоры и Стара-Загоры.
19 июля под Стара-Загорой разгорелся ожесточенный бой. Город отстаивал небольшой отряд русских и болгарских ополченцев во главе с генералом Н.Г. Столетовым. После пяти часов героической обороны создалась угроза окружения, и Столетов приказал оставить город. К сожалению, главные силы Гурко не смогли своевременно прийти на помощь: на пути к Стара-Загоре они столкнулись с войсками Реуф-паши. Турки были разгромлены, но время ушло, и Иосиф Владимирович ввиду невозможности дальнейшего наступления приказал отступить к перевалам. Жертвы, однако, не были напрасными: потрепанная султанская армия три недели не двигалась с места, зализывая раны. Это дало передышку для пополнения сил и русским.
Иосиф Владимирович, отмеченный за блестящее выполнение забалканской операции орденом Св. Георгия 3-й степени и свитским званием генерал-адъютанта, меж тем был отозван в Санкт-Петербург за пополнением. Оттуда он лично привел на театр военных действий вверенную ему 2-ю гвардейскую кавалерийскую дивизию.
В начале октября дивизия стала сосредоточиваться в районе Плевны, куда вскоре подошла и гвардия. Плевна неподъемной глыбой закрывала путь русским войскам к Константинополю. Трижды предпринятый до этого штурм крепости оказался безуспешным. Надо было искать пути, чтобы взять ее, расчистить дорогу к вратам Царьграда.
Гурко был поставлен во главе гвардейского корпуса, что вызвало недовольство многих генералов. Еще бы: его выслуга оказалась меньше, чем не только у начальника штаба гвардейского корпуса, но и многих командиров дивизий. Но сложность ситуации заставила царя и главнокомандующего Дунайской армией великого князя Николая Николаевича не считаться с самолюбием иных старших командиров, имевших стаж, но не отличавшихся необходимыми качествами.