Эриванский отряд генерал Тергукасова 12 апреля перешел границу и 17 мая занял без боя крепость Баязет, гарнизон которой разбежался. Далее отряд Тергукасова некоторое время бездействовал. Тем временем ванский паша Файк собрал 11 тысяч регулярных войск и курдов и начал теснить Тергукасова. 5 июня турки и курды в тылу Эриванского отряда осадили крепость Баязет. Русский гарнизон Баязета состоял из 34 офицеров и 1587 нижних чинов. Комендантом крепости был подполковник Пацевич.
8 июня турки после артобстрела пошли на штурм крепости. Подполковник Пацевич решил сдать крепость и приказал поднять белый флаг. Однако кто-то из офицеров выстрелил в спину коменданта и смертельно ранил его. Командование немедленно принял капитан Штоквич. По туркам был открыт огонь, штурм отбит с большими потерями для турок.
Лишь на 24-й день осады крепость Баязет была деблокирована русскими войсками. За время осады в крепости погибло 7 офицеров и 310 нижних чинов.
В двухдневном кровопролитном сражении 2–3 октября 1877 г. на Аладжинских позициях турки потерпели полное поражение. Они потеряли 22 тысяч человек — 15 тысяч убитых, раненых и разбежавшихся и 7 тысяч пленных, в том числе 7 пашей, с 35 орудиями. У русских погибло 56 офицеров и 1385 нижних чинов.
9 октября отряд генерала Лазарева подошел к Карсу. К октябрю 1877 г. Карc был сильнейшей крепостью в азиатской Турции. Крепость имела четыре группы укреплений с высотой валов до 6 метров и толщиной до 10 метров с каменными стенами, казармами и пороховыми погребами. Крепостная артиллерия состояла из 192 нарезных и 111 гладкоствольных орудий.
К началу осады гарнизон Карса составлял около 25 тысяч человек. Комендантом крепости был Гуссейн-Хами-паша.
Русские войска, обложившие Карc, имели 28 тысяч штыков и сабель. В составе полевой артиллерии было пушек образца 1867 г.: 56 девятифунтовых, 82 —четырехфунтовые и 8 трехфунтовых.
С 13 по 20 октября к крепости Карc подошел осадный артиллерийский парк, в cocтaвe которого было: пять 6-дюймовых пушек весом в 190 пудов (их тогда называли дальнобойными), 24 медные 24-фунтовые пушки обр. 1867 г., 28 стальных 9-фунтовых пушек и шесть 6-дюймовых мортир.
С 30 октября началась интенсивная бомбардировка турецких укреплений. В 9 часов вечера 5 ноября начался штурм крепости. В нескольких местах штурмовые колонны сопровождались 3-фунтовыми горными пушками. К 8 часам утра 6 ноября уцелевшие при штурме турки капитулировали. Удалось бежать только небольшой группе всадников и коменданту крепости Гуссейну-Хами-паше.
Всего при штурме Карса было взято в плен 18 тысяч турецких солдат и офицеров, в том числе начальник артиллерии крепости Гуссейн-бей. Кроме того, турецкий гарнизон потерял убитыми и ранеными около 7 тысяч человек.
Потери войск русского корпуса составили: 1 генерал, 17 офицеров, 470 нижних чинов убитыми, ранены 1 генерал, 58 офицеров и 1726 нижних чинов.
Штурм Карса стал последним крупным сражением на Кавказском театре военных действий.
19 февраля 1878 г. в местечке Сан-Стефано под Константинополем Россия и Турция подписали мирный договор.
Сан-Стефанский договор расширял территорию Болгарии по сравнению с границами, намеченными Константинопольской конференцией. Ей передавалась значительная часть Эгейского побережья. Болгария становилась княжеством в номинальной вассальной зависимости от султана, простиравшимся от Дуная и Черного моря до Эгейского моря на юге и албанских гор на западе. Турецкие войска лишались права оставаться в пределах Болгарии. В течение двух лет ее должна была занимать русская армия.
Сан-Стефанский договор предусматривал также полную суверенность Черногории, Сербии и Румынии, предоставление Черногории порта на Адриатике, а румынскому княжеству — Северной Добруджи, возвращение России Юго-Западной Бессарабии, передачу ей Карса, Ардагана, Баязета и Батума, а также некоторые территориальные приобретения для Сербии и Черногории. В Боснии и Герцеговине должны были быть проведены реформы в интересах христианского населения, равно как на Крите, в Эпире и Фессалии. Турция должна была уплатить контрибуцию в размере 1 миллиарда 410 млн рублей. Однако большая часть этой суммы покрывалась за счет территориальных уступок со стороны Турции. Фактической уплате подлежало 310 млн рублей. Вопрос о Проливах в Сан-Стефано не ставили.