Апрельское восстание болгарского народа и его жестокое подавление вызвало обострение Восточного кризиса. Эскалация напряженности произошла в июне 1876 г. - тогда войну против Турции начали Сербия и Черногория. В октябре сербская армия была фактически разгромлена. После этого в события вмешалась Россия. Она предъявила Турции ультиматум с требованием немедленно заключить перемирие с Сербией на 4-6 недель. Угроза России вступить в войну против Турции остановила наступление османских войск. Однако Черногория и повстанцы Боснии и Герцеговины продолжали свою борьбу.
В декабре 1876 г. по инициативе России в Константинополе (Стамбуле) для решения балканских проблем была созвана конференция великих держав. Представители России, Великобритании, Австро-Венгрии, Франции и Германии высказались за предоставление Боснии, Герцеговине и Болгарии статуса автономных провинций, а также некоторого расширения территории Черногории. Великая Порта отвергла данные требования под предлогом, что провозглашенная в Турции конституция предусматривает предоставление отдельным национальным группам всех необходимых прав. Единственным реальным результатом конференции (декабрь 1877 г. - январь 1878 г.) явилось обращение турецкого правительства в сербскому и черногорскому правительствам с предложением начать переговоры о мире.
В феврале 1877 г. Н. П. Игнатьеву было поручено убедить европейские державы подписать протокол, потверждающий достигнутые в ходе предварительных консультаций на Константинопольской конференции договоренности. Н. П. Игнатьев успешно справился с возложенной на него задачей. В марте 1877 г. в Лондоне протокол был подписан. Однако Высокая Порта в апреле отклонила и его.
Считая все мирные средства урегулирования кризиса исчерпанными, 12 апреля 1877 г. Россия объявила войну Турции. В тот же день русские войска вступили в Румынию, с которой Россия заключила специальную конвенцию. Русская Дунайская армия, сосредоточившаяся в Румынии, насчитывала в начале войны 185 тыс. человек, а турецкая - 220 тыс.
Первоначальными планами русского командования предусматривалось на Дунайском фронте действие двух армий. Одна должна была форсировать Дунай, перейти Балканские горы (Стара-Планину) и захватить Адрианополь (Эдирне), а затем и Константинополь. Другая - поддерживать действия Дунайской армии с Востока и Запада.
Активные боевые действия начались после того, как 15 июня 1878 г. (через два месеца после объявления войны) русские войска переправились через Дунай и заняли первый город на территории Болгарии - Свистов (Свиштов). Они велись в трех главных направлениях - в Восточной, Западной и Центральной Болгарии. В рядах русской армии сражались болгарские ополченцы, а в прифронтовой полосе - четники. Формирование ополчения началось в конце марта 1877 г. в Кишеневе, продолжилось же - в румынском городе Плоешти. Начальником болгарского ополчения стал генерал-майор Н. Г. Столетов. Численность ополчения, включая русские кадры, составила более 7 тыс. человек. Население Болгарии оказывало ощутимую помощь наступавшим русским войскам, обеспечивая перевозку воинских грузов, снабжая войска продовольствием и т. д. В селах и городах проходило формирование отрядов народной милиции.
В Центральной Болгарии действовал, поддержанный болгарскими добровольцами, отряд ген. Гурко. 25 июня ему удалось захватить Тырново, овладеть тремя важными горными проходами через Стара-Планину и выйти в Южную Болгарию. Однако успешное наступление передового отряда было вскоре остановлено корпусом Сулеймана-паши.
После битвы у г. Стара-Загора отряд ген. Гурко, чтобы не оказаться отрезанным от основных русских сил вынужден был отступить и оставить занятые в Южной Болгарии города. Вместе с русскими войсками через Стара-Планину в Северную болгарию двинулось и местное население.
В концу июля 1877 г. обстановка на фронтах сложилась не в пользу русской армии. В августе начались бои за Шипчинский перевал. Его оборона была поручена отряду численностью в 6 тыс. человек во главе с ген. Н. Г. Столетовым, против которого Сулейман-паша бросил 27-тысячную армию. В течение четырех месяцев отряд ген. Столетова при поддержке болгарских добровольцев отражал атаки корпуса Сулеймана-паши и удерживал Шипчинский перевал. Этим было обеспечено взятие в ноябре 1877 г. Плевена, освобождение всей Северной Болгарии, а также переход основных русских сил в Южную Болгарию. Зимой развернулось широкое наступление русских войск. Одна часть русской армии пошла на Софию, другая - на Шипку-Шейново. 23 декабря 1877 г. София была освобождена от турецких войск. А в январе 1878 г. части Осман-паши были разгромлены под Пловдивом. Турецкие войска были отрезаны от Андрианополя, находившегося на пути к Константинополю, и оттеснены в Родопские горы. 19 января 1878 г. в Адрианополе, уже находившемся в руках русских, было подписано перемирие.