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 тыс. кв. км.