1 января 1992 года Агдамский батальон под командованием Якуба Рзаева в сопровождении шести танков и четырех БТР атаковал армянское село Храморт Аскеранского района. Впоследствии на этом направлении с азербайджанской стороны действовали отряды самообороны. 13 января при обстреле города Шаумяновска азербайджанцы впервые применили реактивную установку залпового огня «Град».
25 января армяне перешли в наступление и захватили базу ОМОНа в пригороде Степанакерта Кяркиджахане, а затем (в первой половине февраля) — практически все этнически азербайджанские населенные пункты на территории Нагорного Карабаха. Опорными пунктами азербайджанцев оставались только поселок городского типа Ходжалы (где находился единственный аэродром) и Шуша, откуда велся интенсивный обстрел Степанакерта (с применением установок «Град»).
В ночь на 26 февраля 1992 года армяне захватили Ходжалы, после чего убили 485 азербайджанцев (в том числе более сотни женщин и детей), уходивших по предоставленному карабахским руководством «гуманитарному коридору». Попытка азербайджанской стороны в начале марта перейти в наступление (на Аскеран) и отбить Ходжалы не увенчалась успехом. 10 апреля азербайджанский ОМОН (батальон «Гуртулуш» под командованием Шахина Тагиева) ворвался в армянское село Марага и устроил там бойню, в результате которой было различным образом (вплоть до распиливания заживо) умерщвлено 57 жителей и еще 45 угнано в заложники.
Успехи армян вызвали политический кризис в Азербайджане, который в свою очередь способствовал дальнейшим успехам армян: после нескольких атак 8–9 мая была взята Шуша, и вся территория НКР (бывшая ИКАО и Шаумяновский район) оказалась под контролем армян. Армянские силы были брошены на Лачин, отделявший НКР от Армении; к 18 мая благодаря двойному удару со стороны НКР и Гориса (Армения) Лачин был занят, и между Арменией и НКР установилась прямая связь. Армяне считали войну в основном законченной. С их точки зрения, оставалось только захватить несколько армянских сел Ханларского района (зачищенных во время «операции Кольцо»). Для планируемого наступления на северном направлении начали снимать минные поля.
Однако новое правительство Азербайджана во главе с А. Эльчибеем стремилось во что бы то ни стало вернуть Карабах. Начавшийся в тот момент раздел имущества Советской Армии предоставил азербайджанской стороне большое количество вооружения, обеспечив военное превосходство над армянами. Согласно армянским оценкам в Карабахе у армян было 8 тысяч человек (из них 4,5 тысячи карабахцев), 150 единиц бронетехники (в том числе 30 танков) и около 60 единиц артиллерийско-минометных систем. Со своей стороны, Азербайджан сосредоточил на карабахском направлении 35 тысяч человек, около тысячи единиц бронетехники (в том числе более 300 танков), 550 единиц артиллерии, 53 самолета и 37 вертолетов.
12 июня азербайджанцы неожиданно для армян начали наступление на северном направлении (на Шаумяновский район). Район был занят в течение двух дней. Согласно армянским данным 18 тысяч человек превратились в беженцев, 405 человек (в основном женщины, дети и старики) пропали без вести. После овладения Шаумяновским районом азербайджанская армия, перегруппировавшись, нанесла удар на Мардакерт и 4 июля заняла его. Заняв значительную часть Мардакертского района, азербайджанцы вышли к Сарсангскому водохранилищу, где к 9 июля после месячного наступления фронт стабилизировался. 15 июля армяне перешли в контрнаступление и вышли к пригородам Мардакерта, но затем вновь были отброшены азербайджанцами, которые в начале сентября дошли до реки Хачен, взяв под контроль до трети территории Нагорно-Карабахской Республики.
12 августа в Карабахе было объявлено чрезвычайное положение и всеобщая мобилизация граждан в возрасте от 18 до 45 лет. В республику спешно перебрасывались подкрепления из Армении.
18 сентября азербайджанцы начали новое наступление, нанеся сразу три удара: в направлении на Лачин, на райцентр Мартуни (на юге) и на Шушу (через Карабахский хребет, силами воздушного десанта и горных стрелков). Лачинское направление было основным, а коридор — главной целью азербайджанцев. Азербайджанцы приблизились вплотную к Лачину (на расстояние 12 км) и Мартуни, но поставленных целей не добились. К 21 сентября их наступление выдохлось, и перешедшие в контрнаступление армяне отбросили их на исходные позиции.
К этому времени Армения завершила вооружение и формирование национальной армии, значительные силы которой были переброшены в Карабах. К концу года армянские силы в Карабахе насчитывали 18 тысяч человек, из них 12 тысяч карабахцев. Они имели 100 танков и 190 единиц бронетехники.
15 января 1993 года Азербайджан начал новое наступление на северном фронте (в направлении Чалдырана), пытаясь создать плацдарм для наступления на Степанакерт. Идея состояла в том, чтобы, сковав силы армян на Мардакертском направлении, отсечь их ударом от Агдама. Однако наступление завершилось провалом. Это предвосхитило весенне-летние поражения азербайджанской армии.
5 февраля армяне, измотав азербайджанцев оборонительными боями, перешли в наступление и нанесли удар на Чалдаран (Мардакертское направление), который и был ими занят в тот же день. К 8 февраля азербайджанцы были отброшены на 10 км. К 25 февраля армяне полностью овладели Сарсангским водохранилищем и взяли под контроль участок дорога Мардакерт — Кельбаджар, прервав таким образом связь Кельбаджарского района с остальным Азербайджаном. Попытки продвинуться далее и отбить Мардакерт не удались.
Армянское наступление поставило в безнадежное положение Кельбаджарский район, который оказался в полублокаде между Арменией, НКР и занесенными снегом горными перевалами. 27 марта армяне начали операцию по овладению Кельбаджаром. Удары наносились с трех сторон: с территории Армении, Карабаха и из Лачина. В течение 72 часов после начала наступления армяне заняли райцентр. Население было эвакуировано вертолетами или ушло через горные перевалы, претерпев массу лишений. Азербайджанские части также отступили через перевалы, бросив застрявшую в снегу технику. Овладение Кельбаджаром значительно улучшило стратегическое положение армян, сократив линию фронта, ликвидировав угрозу Лачину с севера и установив вместо «коридора» прочную связь между НКР и Арменией.
В Азербайджане поражения вызвали новый политический кризис, в июне приведший к падению Эльчибея и правительства НФА и замене его Гейдаром Алиевым. Армяне же стремились развить успех. 12 июня, в годовщину азербайджанского наступления, они начали массированное наступление на направлениях Агдам и Мардакерт. На Агдамском направлении они сумели достичь лишь незначительного успеха. Зато, перебросив основные силы на северный фронт, 26 июня они вернули Мардакерт.
После этого армянские вооруженные силы вновь были переброшены на Агдамское направление и после 42 суток боев в ночь на 24 июля овладели Агдамом. Дальнейший план армян состоял в том, чтобы нанести удар в южном направлении (на Физули) и выйти к иранской границе в районе Горадиза, что автоматически отрезало бы и отдало в их руки Зангеланский и Кубатлинский районы. Наступление на южном фронте началось 11 августа. К 25 августа были заняты райцентры Джебраил и Физули. После короткой паузы для перегруппировки армяне начали наступление на Кубатлы и 31 августа заняли его. 23 октября армяне заняли Горадиз (на иранской границе), таким образом окончательно отрезав Зангеланский район и оставшуюся в руках азербайджанцев часть Кубатлинского и Джебраильского районов. Дислоцировавшиеся там азербайджанские военнослужащие вместе с мирными жителями ушли через Араке в Иран. Таким образом, южный фронт был практически ликвидирован, и стратегическое положение Карабаха, еще недавно находившегося в полуокружении, значительно улучшилось. За восемь месяцев своего наступления армяне сумели установить контроль над территорией в 14 тыс. кв. км.
15 декабря азербайджанцы в отчаянной попытке восстановить свое положение перешли в наступление на всех пяти направлениях (физулинском, мартунинском, агдамском, мардакертском, кельбаджарском). Основной удар наносился на юге. 8 января азербайджанцы вернули Горадиз, а к 26 января вышли к Физули, где были остановлены