Львов, по сути, был крепостью, его окружали сильные форты. Брать его планировалось совместными силами двух армия, Брусилов с юга, Рузский с севера и востока. Но наше командование не знало, что крепость перед войной была упразднена, орудия с фортов сняты. Австрийцы рассчитывали отстоять Львов в полевом сражении на подступах к нему. Главный рубеж обороны готовили по притоку Днестра Гнилая Липа и по Бугу — от близко примыкает к верховьям Гнилой Липы, образуя с ней как бы одну линию. Чтобы получше оборудовать позиции неприятель решил задержать 8-ю армию чуть раньше, на р. Коропец. Бросил в атаку 2 дивизии. Задержать не получилось. 8-й корпус Радко-Дмитриева и 12-й Леша опрокинули врага во встречном бою и обратили в бегство. Захватили всю артиллерию, много пленных.
Но в это время армия Рузского натолкнулась на основную линию неприятельских позиций. А австрийцы хорошо умели их строить. Добросовестно окапывались, каждый солдат еще и носил в ранце 5–6 м колючей проволоки, чтобы быстро поставить заграждения. Русских остановили сильным огнем. Мало того, посыпались контратаки. Левофланговый 10-й корпус отбросили назад. Центральные, 9-й и 11-й удержались, но вынуждены были перейти к обороне. А на правом фланге 21-й корпус и 11-я кавдивизия завязали ожесточенные бои за г. Каменка-Струмилово. Противник наседал отчаянно, атака следовала за атакой. Несколько раз венгерская кавалерия прорывала боевые порядки, добиралась до русских батарей и начинала рубить прислугу. Но в бой бросались резервы, и прорвавшиеся сами гибли под русской шашками.
Иванов приказал Брусилову помочь соседям. Но Брусилов узнал от своих летчиков и о том, что значительные силы противника сосредоточены прямо перед ним, на Гнилой Липе. Он послал распоряжение 24-му корпусу Цурикова, догонявшему армию — ускорить движение и прикрыть южный фланг со стороны Галича. А остальным войскам поставил задачу совершить сложный фланговый маневр на север — сдвинуться вправо и примкнуть к 3-й армии. Сделать это требовалось быстро и ночью, а уже утром атаковать врага, 8-му и 12-му корпусам нажать в лоб, но Гнилую Липу не переходить. А 7-му, на правом фланге, форсировать ее, прорвать австрийские позиции и стараться обойти противостоящую группировку, чтобы не отступила в Львов и не укрылась в его фортах.
29 августа по берегам Гнилой Липы и Буга закипело общее сражение. Местность тут была крайне неудобной для наступления — кругом болота, речушки, а все мосты и гати простреливались. Особенно тяжело пришлось 8-му корпусу Радко-Дмитриева. 24-й, который должен был прикрыть его слева, все еще отставал. Этим воспользовались вражеские части, засевшие в г. Галиче. Совершили вылазку и стали прорываться в русский тыл. Радко-Дмитриев приказал своим дивизиям загнуть левый фланг, отбивал жестокие атаки с двух сторон. Но командир 24-го Цуриков догадался выслать вперед одну бригаду, она спешила ускоренными маршами, без привалов, и все-таки подоспела, с ходу вступила в бой и оттянула на себя части галичского гарнизона.
Тяжко было и 7-му корпусу на стыке с 3-й армией. Ему предстояло расчленить боевые порядки австрийцев, он нес в атаках большие потери, но продвигался еле-еле. По сотням, по десяткам метров буквально вгрызался в оборону врага. Лишь через 2 дня он пробился к Гнилой Липе и стал переправляться через нее. Но когда его соединения перешли через реку, возник разрыв между ними и 12-м корпусом. Противник это сразу заметил и бросил в брешь значительные силы — отрезать 7-й корпус от своих. Спасла положение 12-я кавалерийская дивизия Алексея Максимовича Каледина. Этот генерал, донской казак из Усть-Хоперской станицы, проявил себя решительным и умелым начальником. Сам, без приказа свыше, выдвинул полки наперерез прорвавшимся австрийцам. Спешенная конница залегла, развернулись дивизионные батареи. Раз за разом накатывались цепи неприятеля, их встречали огнем. Доходило до рукопашных. На некоторых участках отряды противника пробивались в русские тылы. На них Каледин бросал резервные эскадроны, врага давили и отбрасывали конными контратаками и продержались, пока подошла подмога, бригада пехоты.
Но уже сказывался прорыв 7-го корпуса. Он все глубже проникал в расположение австрийцев, и 1 сентября неприятель дрогнул, начал пятиться назад. Брусилов, угадав этот момент, приказал всем остальным войскам «наподдать». Его корпуса с новой силой навалились на противников, и они не выдержали. Отступление принимало все более беспорядочный характер, наши части по всему фронту форсировали Гнилую Липу и устремилась в преследование, захватывали пленных, пушки, обозы. А левофланговый 24-й корпус подступил к Галичу. Город был сильно укреплен, ощетинился тяжелыми орудиями. Но гарнизон, причинивший столько неприятностей своей вылазкой, растрепали в полевых боях. Когда рухнула оборона по Гнилой Липе, защитники Галича запаниковали, и его взяли одной атакой.
Левее Брусилова наступал Днестровский отряд Певлова из 2-й сводной казачьей дивизии и пехотной бригады. 2 сентября он с ходу захватил г. Станислав (Ивано-Франковск), и казаки ринулись в рейд по тылам противника на Калуш и Стрый. Австрийцы стали отступать и перед правым соседом Брусилова, 3-й армией, она двинулась к Львову. Авиаразведка доложила, что к Львовскому вокзалу стягивается масса войск, и набитые поезда отходят один за другим. Позже выяснилось, что прорыв 8-й армии оказался очень опасным для врага. Австрийское командование испугалось, что русские захватят железнодорожный узел и отрежут их войскам пути отхода, поэтому решило оставить Львов.
Для нашего командования это было неожиданным. 3 сентября Брусилов со штабными офицерами ехал к Рузскому на совещание. Одна из машин, в которой находились полковники Гейден и Яхонтов, отстала и сбилась с дороги. Офицеры увидели, что от Львова идут крестьяне, местные русины (так называли западных украинцев). Поинтересовались: «А что, много там войска?» Им ответили: «Нема никого, все утекли». Гейден и Яхонтов сперва не поверили, но заинтересовались. Уж очень соблазнительной показалась возможность блеснуть с истинным офицерским шиком. Поехали в Львов. У предместий обогнали свои передовые части и направились к центру города. Солдат противника и впрямь не было. Полковники не отказали себе в удовольствии позавтракать в лучшей гостинице Жоржа, купили знаменитых львовских конфет и поехали обратно — докладывать.
С юга в город вступила дивизия Каледина, с севера части 3-й армии — 9-й корпус Щербачева. Его полки стали занимать пустые форты, и Рузский, узнав об этом, был очень озадачен. Приказал Щербачеву соблюдать сугубую осторожность: не приготовил ли враг какой-нибудь ловушки? Но ловушек не обнаружилось. Сражение было выиграно. Рузский за эту победу был произведен в генерал-адъютанты, его и Иванова наградили орденом Св. Георгия III степени, Брусилова — IV степени.
Из тюрем и лагерей в Галиции были освобождены десятки тысяч интернированных русских и местных жителей, арестованных за «русофильство» (часто всего лишь за неосторожное слово). Встречали наших воинов по-разному. Русины — с искренней радостью. Они в большинстве православными и даже говорили тогда на другом языке. Офицеры с удивлением отмечали, что язык русин гораздо ближе к великорусскому, чем украинский (что не удивительно — в Поднепровье славяне смешивались с тюркскими народами, а в Прикарпатье сохранялось наречие Киевской Руси). Простые галичане воспринимали приход русских как «своих». Дружески были настроены и поляки. А враждебную позицию заняли униатская церковь, немцы, евреи. Но стрельбы в спину и перерезания телефонных проводов, как в Пруссии, здесь не было — не осмеливались.