Чтобы выправить положение, 2-й воздушной армии было приказано «сосредоточиться» на танковой группировке немцев. Как мы помним, здесь наши войска поддерживали около 2000 самолетов. В течение дня бомбардировщики и штурмовики четырех авиакорпусов совершили свыше 1800 самолето-вылетов, сбросив более 100 тонн бомб на квадратный километр. В результате ударов авиации, артиллерии 38-й армии, а также танковой и механизированной бригад, выделенных из армии Лелюшенко, немецкие войска были дезорганизованы, понесли значительные потери и резко снизили активность. Генерал Меллентин пишет: «На марше 8-я танковая дивизия, двигавшаяся длинными колоннами, была атакована русской авиацией и понесла огромные потери. Много танков и грузовиков сгорело; все надежды на контратаку рухнули». Контрудар противника был отбит, однако перспектива введения 4-й танковой армии в прорыв на данном участке оставалась призрачной.
Немцы предприняли сильные контратаки и против 60-й армии. Но здесь ее соединения совместно с частями армии Рыбалко успешно преодолели сопротивление противника и, продвинувшись 15 июля на глубину 18 км, на пятикилометровом участке в районе Колтов прорвали вторую полосу неприятельской обороны, создав так называемый колтовский коридор.
Этот проход, по предложению генерала Рыбалко, был использован утром 16 июля для ввода 3-й гвардейской танковой армии. Армия насчитывала в своем составе около 42 000 человек, 555 танков и САУ, в том числе 42 машины ИС-2, 563 орудия и миномета, 79 реактивных установок, 241 бронетранспортер. Узкая полоса прорыва, бездорожье, торфянистые почвы и проливные дожди вынуждали всю эту массу войск и техники двигаться по одному маршруту сплошной непрерывной многокилометровой колонной под артиллерийским и минометным огнем противника. Решение было рискованное, так как проход, через который предстояло протолкнуть крупнейшее танковое объединение, был в три-четыре раза уже, чем предусматривалось уставами и сложившейся практикой, но Конев, хоть и не без колебаний, принял его. По плану ударная группировка должна была уже быть у Львова, а она еще не сдвинулась с места. Для поддержки армии с воздуха командующий фронтом выделил шесть авиационных корпусов; в течение всего светлого времени над коридором висели советские истребители.
Стремясь ликвидировать колтовский коридор и не допустить прорыва танковых войск в оперативную глубину, немцы возобновили контратаки с севера частями 13-го армейского корпуса и с юга двумя танковыми дивизиями. Обстановка создалась исключительно напряженная. Однако танкам Рыбалко удалось протиснуться вперед. К исходу 18 июля они преодолели тыловой рубеж противника, по двум наведенным мостам форсировали реку Пелтев и вышли в район Дзедзилув, Красное, а части 9-го механизированного корпуса достигли Деревлян, где соединились с конно-механизированной группой генерала Баранова, завершив окружение бродской группировки противника.
С утра 17 июля через колтовский коридор, так как в полосе 38-й армии успеха достигнуто не было, начала входить в прорыв и 4-я танковая армия. Ей предстояло, обходя Львов с юга, развивать наступление на Городок. Однако в течение 17–18 июля из-за сильного противодействия немецких войск на флангах полностью ввести армию в прорыв не удалось. Половина ее сил совместно с войсками 60-й армии вынуждена была отражать неприятельские контратаки южнее Золочева. Тем не менее Конев приказал генералу Лелюшенко продолжать выполнение поставленной задачи наличными силами.
Чтобы быстрее высвободить 13-ю и 60-ю армии для развития наступления на львовско-перемышльском направлении, командующий фронтом к уничтожению бродской группировки дополнительно привлек 4-й гвардейский и 31-й танковые корпуса, авиацию и арткорпуса РГК.
С целью расширения прорыва в сторону левого крыла фронта в наступление перешла 1-я гвардейская армия. Используя участок прорыва 38-й армии, она с утра 16 июля нанесла удар в направлении Бережаны, разгромила здесь войска противника и тем самым заставила германское командование свертывать оборону перед армией к югу. Армия Москаленко, отражая контратаки с юга, продвинулась на 8–14 км.
Таким образом, за шесть дней наступления, с 13 по 18 июля, войска 1-го Украинского фронта, несмотря на исключительно упорное сопротивление противника, достигли крупного оперативного успеха. На обоих направлениях они прорвали оборону противника на фронте 200 км, продвинулись на глубину до 50–80 км, форсировали Западный Буг и окружили немецкую группировку в районе Бродов.
Одновременно с боями по ликвидации бродской группировки войска фронта продолжали развивать наступление на запад. Особенно успешно оно развивалось на правом крыле. 1-я гвардейская танковая армия 19 июля сломила сопротивление противника на Западном Буге и приступила к преследованию. В связи с быстрым продвижением 3-й гвардейской и 13-й армий по расходящимся направлениям между ними образовался большой разрыв. Поэтому конно-механизированная группа Соколова получила задачу из района Рава-Русская нанести фланговый удар на северо-запад, на Фрамполь. Выходом в тыл противника она должна была содействовать продвижению армии Гордова, установить взаимодействие с соединениями 1-го Белорусского фронта, в дальнейшем форсировать с ходу Вислу и захватить плацдармы.
К этому времени крайне благоприятная обстановка сложилась на львовском направлении. Львов являлся одним из важнейших стратегических объектов и крупным центром коммуникаций противника, во многом определявшим устойчивость его обороны. В связи с этим сам город и прилегающая к нему местность были сильно укреплены. Ближайшие селения были превращены в опорные пункты с развитой системой укреплений и инженерных заграждений. Но сил у немцев в районе Львова было недостаточно, оперативные резервы они уже израсходовали. Войска 3-й гвардейской танковой армии и 13-й армии находились в 20–30 км от города. 4-я танковая армия своим 10-м гвардейским танковым корпусом вышла в район Ольшаницы, в 30 км восточнее Львова. С севера город охватывала конно-механизированная группа Баранова. В этой ситуации ночью 19 июля Конев отдал приказ генералу Рыбалко обходным маневром с севера и северо-запада, а генералу Лелюшенко с юга овладеть Львовом не позднее утра 20 июля. Однако сделать этого не удалось. Как справедливо заметил в своих воспоминаниях Лелюшенко, которому пришлось с ходу поворачивать свои войска на 90 градусов на север: «Это была новая задача — не обходить Львов, а брать его». Причем брать чисто танковыми соединениями.
Конно-механизированная группа Баранова вместо стремительного броска на запад ввязалась во фронтальные атаки за Жолкев и не выполнила поставленной перед ней задачи. Конев торопил: «Топтание группы вторые сутки перед слабым противником — преступление». Но и 21 июля корпуса Баранова бились лбом о Жолкев.
4-я танковая армия вела безуспешные бои одним корпусом на юго-восточных подступах к Львову. Остальные ее силы были связаны обороной колтовского коридора и отражением контрудара 48-го танкового корпуса, в котором, кстати, не было ни одной танковой дивизии. Встретив у города упорное сопротивление, армия не смогла продолжить наступление, ее силы оказались разбросанными в четырех районах.
Генерал Рыбалко, стремясь скорее взять Львов, не мудрствовал лукаво и вместо обходного маневра атаковал немецкие позиции по кратчайшему расстоянию по дороге Красное—Львов. Энтузиазм командарма подстегивало то обстоятельство, что на пути к городу армия не встретила сколько-нибудь значительного сопротивления. В результате танки уперлись в торфяное болото и втянулись в затяжные бои на крайне неудобной местности.
«С первого взгляда — поле как поле, — вспоминает генерал B.C. Архипов, — а в действительности — слабый торфяник, предательски покрытый густой зеленой травой. Гусеницы танков прорывали глубокие черные колеи, которые тотчас заполняла вода… В такой обстановке на заболоченной, исключавшей всякую возможность маневра местности наши подразделения предприняли несколько атак. Они были неудачными. Пришлось доложить генералу Новикову, что танки вязнут, мы несем потери, а продвижения нет… Более двух суток мы вели бой практически на месте… все мы чувствовали очень остро, что блестяще начатый рейд танков, прошедший вопреки бездорожью и плохой погоде в хорошем темпе и с минимальными потерями, вдруг застопорился».
Из-за сильных дождей, размывших дороги, тылы отстали и не успевали своевременно подвозить боеприпасы и горючее. Несмотря на указания Конева совершить обходное движение, Рыбалко «увлекся». До города оставалось 7–8 км, и он хорошо просматривался с наблюдательных пунктов. Командиры корпусов докладывали, что нужен еще небольшой натиск, и бригады ворвутся во Львов. На отдельных участках танкисты клиньями врезались в оборону противника, но каждый раз немцы подбрасывали к участку прорыва свежие силы и стабилизировали положение.