17 октября под Дьюнишем сербская армия была наголову разбита, тем не менее Турция под различными надуманными предлогами саботировала все призывы великих держав к заключению мира с Сербией. В силу этого обстоятельства сильно увеличилась вероятность возникновения русско-турецкая войны. Однако начинать такую войну без предварительной договоренности с Веной Петербург не мог, и в результате длительных переговоров 15 января 1877 г. в Будапеште была, наконец, подписана секретная конвенция, которая обеспечивала России нейтралитет Австро-Венгрии в войне против Турции. Ценой этого нейтралитета явилось согласие России на австрийскую оккупацию Боснии и Герцеговины, при этом Вена обязывалась не распространять свои военные операции на Румынию, Сербию, Болгарию и Черногорию, но соглашалась на участие Сербии и Черногории в войне с турками на стороне России.
На отклонение Турцией Лондонского протокола Россия ответила мобилизацией. Царь выехал в Кишинев, где находилась ставка верховного главнокомандующего, и 24 апреля подписал манифест об объявлении войны Турции. Однако активные военные действия на балканском театре начались только в конце июня.
В ответ на объявление Россией войны Турции Великобритания 6 мая вручила Петербургу ноту, в которой сообщалось, что Лондон ни при каких обстоятельствах не может допустить, во-первых, блокады Россией Суэцкого канала, во-вторых, оккупации Египта, хотя бы только на время войны, в-третьих, захвата Константинополя и изменения статуса черноморских проливов. Горчаков успокоил англичан по поводу Египта и Суэца, а вопрос об изменении статуса Константинополя и проливов Россия обязывалась не решать единолично, но предупредила англичан о возможности временного занятия зоны проливов русскими войсками, если по ходу военных действий это окажется необходимым.
На это английская дипломатия не сочла возможным согласиться, и Лондон начал переговоры с Австрией о совместном отпоре России. Англия обязывалась послать свой флот в проливы, а австрийцам предлагалось ударить в тыл русской Дунайской армии. Но Вена от этих предложений отказалась, согласившись лишь проводить совместную политическую линию в вопросах послевоенного политического устройства Балкан. Зачем же Австрии было воевать с Россией, если та сама согласилась на австрийскую оккупацию Боснии и Герцеговины.
В ночь на 27 июня русские войска под командованием генерала М. И. Драгомирова форсировали Дунай в районе Зимницы, и 7 июля передовой отряд генерала И. В. Гурко занял древнюю столицу Болгарии Тырново, после чего двинулся на Казанлык. В сильную жару по горным тропинкам передовой отряд за 6 дней сумел пройти 120 верст. Известие о переходе Гурко за Балканы так сильно подействовало на турок, что занимавший Шипку отряд без боя покинул свою прекрасную позицию, бросил на перевале всю свою артиллерию и отступил к Филиппополю. В результате 7 июля Шипка оказалась в руках русско-болгарской армии, и кратчайший путь на Константинополь был открыт.
Однако турецкое командование, понимая стратегическое значение перевала, срочно перебросило из Черногории армию Сулейман-паши и решило провести контрнаступление с целью вытеснить русские войска за Дунай. Первой задачей Сулейман-паши было овладеть Шипкинским перевалом, при этом силы турок, брошенных на Шипку (27 тыс. чел. и 46 орудий), многократно превосходили силы его защитников (4,8 тыс. чел. и 27 орудий).
В исключительно тяжелых условиях русско-болгарские войска, героически обороняясь, удерживали свои позиции вплоть до подхода подкрепления во главе с генералом Драгомировым 24 августа, после чего русские стремительно контратаковали и отбросили противника, вплотную подошедшего к перевалу. Героическая оборона Шипки значительно нарушила планы турецкого командования и не позволила потерять важный стратегический рубеж, который русские удерживали вплоть до перехода основных сил в наступление в январе 1878 г.
Западному отряду русской армии под командованием генерала Н. П. Криденера было приказано взять крепость Никополь, после чего продолжить наступление на Плевну. 16 июля Никополь был взят, но с ходу занять Плевну русским войскам не удалось, поскольку Осман-паша сумел перебросить туда свой отборный корпус и организовать оборону города, создав при этом серьезную угрозу правому флангу и коммуникациям русской армии.
В кровопролитных боях за Плевну русские трижды предпринимали штурм города, но взять его им удалось только 10 декабря после длительной осады, в результате которой армия Османа-паши была вынуждена капитулировать.
Фактически под Плевной был решен исход войны. Еще до капитуляции Осман-паши английский премьер Дизраэли писал английской королеве:
«Падение Плевена (Плевны), который пока еще не пал, будет большим несчастьем для Британской империи».