Все началось со вторжения персидской армии в Карабах и Талышское ханство - земли, сравнительно недавно перешедшие в российское подданство. За спиной персов стояли англичане, которые подготовили персидские войска по европейскому образцу и в случае войны с Россией обещали оказать шаху Фетху Али и принцу Аббас-Мирзе огромную финансовую помощь. В свою очередь, правящая персидская династия рассчитывала отыграть назад итоги русско-персидской войны 1804-1813 годов, в результате которой Персия признала власть российской короны над Грузией, Дагестаном и Восточной Арменией. Персы надеялись, что нестабильная ситуация в России, вызванная восстанием декабристов, сыграет им на руку.
В то же время новый император Николай I не желал новой войны с Персией, поскольку его больше занимало обострение отношений с Турцией. Он предпринял попытку решить все дипломатическим путем, для чего отправил в Тегеран генерал-майора князя Александра Меншикова. Однако переговоры закончились безрезультатно, хотя Меншиков от имени царя обещал вернуть персам часть Талышского ханства.
31 июля 1826 года персы без объявления войны вторглись в Закавказье. Поначалу дела у них шли хорошо, потому что милиция и ополчение, состоявшее из местных жителей (главным образом - азербайджанцев) разбежались, либо местами присоединились к захватчикам. Обстановка была очень серьезная: персы планировали взять Тифлис, вернув себе Грузию, закрепиться на Северном Кавказе и отбросить русских за Терек.
Под давлением численно превосходящего противника русские войска начали отступать на север. Силы вторжения составляли около 40 тысяч человек, в то время как русские отряды были малочисленны. Например, гарнизон Шуши насчитывал всего 1300 человек. Тем не менее эта крепость, при поддержке армянского и верного России азербайджанского населения, успешно отбивала все штурмы.
Часть персидского войска осталась у Шуши, а другая двинулась на Елизаветполь (сейчас - Гянджа), после захвата которого персы планировали осадить Тифлис. А союзники персов - курды, вторглись на территорию современной Армении.
Военные власти Закавказья, возглавляемые генералами Иваном Паскевичем и Алексеем Ермоловым, мобилизовали все силы для отпора персам. И ситуация стала меняться. Большую роль в этом сыграл поход части русских войск под руководством генерала Валерьяна Мадатова, выходца из карабахских армян. Целью похода была защита Елизаветполя, снятия осады с Шуши и прекращение движения персов в сторону Тифлиса. Имея в отряде немногим более 4 тысяч солдат и около 2 тысяч вооруженных местных жителей, а также 12 пушек, Мадатов смело вышел на встречу 14-тысячному войску, состоявшему из персов и отрядов Эриванского ханства, имевшими на вооружении 10 пушек и 20 фальконетов.
Противоборствующие силы сошлись у села Шамхор. Инициативу в сражении сразу проявили русские войска, нанеся контрудар по наступавшим персам. Конница и артиллерия ударили с правого фланга, а пехотные батальоны - в центр, который вскоре удалось дезорганизовать и прорвать. Персы не выдержали натиска русских и побежали. Казацкие сотни и кавказская конница преследовали их до самого Елизаветполя. В результате персы потеряли 2 тысячи воинов убитыми (почти вся шахская гвардия), а русские всего 27 человек.
Когда известие о поражении под Шамхором достигло ушей принца Аббас-Мирзы, он приказал другой части персидского войска идти на Елизаветполь, чтобы уничтожить отряд Мадатова. Для этого пришлось отказаться от дальнейшей осады Шуши. У Аббас-Мирзы было 35 тысяч воинов и 25 пушек, тогда как в Елазаветполе вместе с прибывшим туда отрядом генерала Паскевича в общей сложности собралось около 8 тысяч солдат. Кроме того, в гарнизоне имелось 22 пушки.
Объединенный отряд Паскевича и Мадатова встретил персов на подступах к Елизаветполю. Началось все с артиллерийской дуэли. Потом на русских обрушилась лавина из 20 тысяч конников и 15 тысяч пехотинцев. Левый фланг русских войск, состоявший из казаков и мусульманских ополченцев, дрогнул и начал отступать. Однако продвижение персов стало замедляться из-за пересеченной местности, а также от огня гренадеров и атаки драгун, которых Паскевич перекинул из резерва. Русским даже удалось обратить в бегство центральные колонны наступающих, но тут создалась тяжелая обстановка на правом фланге, который (также как и левый) обороняли казаки и кавказские добровольцы. Они начали спешно отступать к Елизаветполю. Заметив это, Паскевич вовремя ввел в бой карабинеров. И ситуация стала выправляться. Первыми сдались персы, занимавшие господствующие высоты. Потом бросили свои орудия артиллеристы. И вскоре уже все персидское войско ударилось в бегство. Его преследовал отряд Мадатова, добивая отступавших на протяжении почти 20 километров. Было захвачено большое количество трофеев и два походных лагеря. И опять при минимальных потерях со стороны русских: 46 убитых и 249 раненых.
Остатки персидской армии во главе с Аббас-Мирзой бежали за Аракс. Дальнейший ход русско-персидской войны состоял из стычек небольших отрядов.
Таким образом сражение под Шамхором, продолженное успехом русских войск под Елизаветполем, коренным образом переломили ситуацию.
Все закончилось подписанием 22 февраля 1828 года Туркманчайского мирного договора, по которому Персия вновь признала итоги войны 1804-1813 годов, а также согласилась передать России часть побережья Каспийского моря и образовать в Восточной Армении область с армянским самоуправлением.
Новую границу между двумя государствами установили по реке Аракс.