Эти смельчаки с 9 по 12 августа мужественно отражали непрерывные атаки противника, многократно превосходившего их в живой силе, качестве и количестве вооружения. Затем к осажденным подошли подкрепления, русская армия перешла в контратаку и отбросила противника. Героическая оборона Шипки нарушила турецкие планы; важнейший стратегический пункт остался в руках русской армии. Русские потеряли ранеными и убитыми около 4 тысяч человек.
Ещё более кровопролитные сражения разгорелись в районе болгарского города Плевна (Плевен). Они длились с небольшими перерывами с июля по ноябрь 1877 г. Плевна была одним из немногих городов Северной Болгарии, который оставался в руках турок. Он имел сильные оборонительные линии, а его выгодное географическое расположение позволяло выдерживать продолжительные осады. Русская армия предпринимала неоднократные атаки, пытаясь овладеть этим важным стратегическим пунктом. Однако серия атак окончилась неудачей. Тогда русское командование приняло решение начать осаду. Одновременно русская армия ликвидировала все турецкие укрепления вокруг Плевны, которые штурмовались одно за другим. Наконец 28 ноября 1877 г. 50-тысячная турецкая армия под командованием Осман-паши после безуспешной попытки прорвать блокаду сдалась в плен. В боях за Плевну погибло более десяти тысяч русских.
На Кавказском направлении с весны 1877 г. развернулись жесточайшие бои, и в октябре турецкая армия была разгромлена, а русские войска продвинулись вглубь турецкой территории на несколько сот километров.
В конце 1877 г. русская армия начала решительное наступление на турецкие позиции и 23 декабря освободила Софию. Ликованию болгар не было предела. 3–4 января турецкая армия потерпела сокрушительное поражение, русская армия уверенно шла вперед и остановилась на подступах к Стамбулу. В Стамбуле царила паника, султан Абдул-Гамид II и его окружение бежали, вслед устремились многие высокопоставленные турецкие сановники.
Однако западные страны не могли допустить падения Турции. Английская эскадра вошла в Мраморное море и стала на рейде Стамбула. Правительство Англии направило России дипломатическую ноту, угрожая войной. Аналогичную позицию заняла и Австро-Венгрия. В этих условиях Александр II не рискнул провоцировать новую войну и вводить войска в турецкую столицу.
19 февраля в местечке Сан-Стефано был подписан мирный договор между Россией и Турцией, по которому России возвращалась южная часть Бессарабии, потерянная в Крымской войне, и присоединялась Карская область на Кавказе. Но ещё важнее было то, что Турция признавала независимость славянских государств на Балканах.