К исходу 21 июля наступление войск 1-го Украинского фронта развернулось в 400-километровой полосе от Грубешува до Днестра. Соединения 1-й гвардейской танковой, 13-й армий и конно-механизированной группы Баранова, обходя Львов с северо-запада, развивали наступление к реке Сан.
К 22 июля, отразив многочисленные контратаки на внешнем и внутреннем фронте окружения, советские войска расчленили окруженную группировку на две части и полностью ликвидировали ее. По оценке Конева, в «котле» было восемь немецких дивизий. Более поздние источники указывали скромнее: «до восьми», генерал армии Лелюшенко — «до шести дивизий противника». Это ДО в количественном отношении означает около пяти дивизий — 340-ю и 361-ю пехотные, частично 454-ю охранную, корпусную группу «Ц», которую засчитали за три дивизии и 14-ю пехотную дивизию СС «Галиция». Все они были разгромлены, а первые две уничтожены почти полностью. Причем «галичан» в плен не брали. По докладу опять же командующего фронтом, ставшему официальным «историческим» источником, немцы потеряли более 38 000 человек убитыми и 17 000 пленными. Если пленных нужно было сдавать под счет, то количество «убитых» в советских источниках никогда нельзя считать достоверным. Кстати, генерал армии Д.Д. Лелюшенко вспоминает, что на рассвете 20 июля «окруженные» немцы преодолели колтовский коридор западнее Золочева и «плотными боевыми порядками» ворвались в район расположения штаба и тыла 4-й танковой армии, бои здесь длились двое суток и, конечно, «лишь немногим удалось прорваться в Карпаты». Ну, например, трем тысячам украинских эсэсовцев.
Летописцы боевого пути 3-й гвардейской танковой армии мимоходом сообщают, что немцы потеряли 25 000 человек убитыми и пленными во всей Львовско-Сандомирской операции.
Ликвидировав «котел» под Бродами, командование фронта сосредоточило основные силы для разгрома львовской группировки. Штаб фронта принял решение, используя успех армий Катукова и Пухова, ускорить обход Львова танковой армией Рыбалко с северо-запада и запада, 4-й танковой армией — с юга, а войсками 60-й армии нанести удар с востока. 38-я армия должна была продолжать энергичное наступление от Перемышля на южную окраину Львова.
Конев сообщает, что несмышленый Рыбалко наконец «уяснил смысл моего требования и приступил к перегруппировке». Оставив 56-ю гвардейскую бригаду изображать активность на торфяных болотах, 3-я гвардейская танковая армия в период с 22 по 24 июля вышла из боя, совершила 125-километровый марш-маневр, по хорошим дорогам, сбивая заслоны, главными силами обошла Львов с севера и запада и развернула наступление на двух расходящихся направлениях: на Львов — с запада силами 7-го гвардейского танкового корпуса генерала С.А. Иванова и 6-м гвардейским танковым корпусом генерала В.В. Новикова, усиленным 91-й танковой бригадой, на Перемышль — с востока. Этот маневр имел для фронта исключительно важное значение. Выход танковых войск в район Яворова и юго-восточнее от него перерезал коммуникации львовской группировки противника, которые вели на Ярослав и Перемышль.
В то время как танкисты Рыбалко совершали марш-маневр в район Яворова, 4-я танковая армия штурмовала город с юга. Конев, описывая сильно затянувшиеся бои за Львов, валит все на бестолковость подчиненных: я, мол, приказывал «обходить Львов глубже с запада». Однако тут же приводит собственные директивы, направленные Лелюшенко. 19 июля командарм получает приказ «овладеть Львовом», два дня спустя — не ввязываясь в затяжные бои, снова «стремительно выходить на Городок», а 22 июля — «главными силами армии нанести немедленно стремительный удар на Самбор» и взять его к исходу 25 июля. После этого, делая из командарма законченного дурака, Конев сообщает, что «генерал Д.Д. Лелюшенко, имея задачу наступать на Самбор, чтобы не допустить отхода противника на юго-запад, решил «по пути» частью сил ворваться во Львов». Между тем, к исходу 22 июля главные силы 4-й танковой армии вели бои на южной окраине Львова, а ее 10-й Уральский гвардейский танковый корпус «по пути» ворвался в город, где был отрезан немцами.
Армия Катукова, пройдя с боями 120 км, в этот день вышла передовыми частями к Сану севернее и южнее Ярослава, оторвавшись от стрелковых соединений 13-й армии на 50 км. В ночь на 23 июля танкисты небольшими силами форсировали реку и захватили плацдарм. Однако дальнейшее продвижение застопорилось, немцам удалось втянуть советские войска на реке Сан в затяжные бои. Высокую активность стала проявлять германская авиация, нанося удары главным образом по переправам. Лишь еще сутки спустя 1-я гвардейская танковая армия форсировала Сан севернее и южнее Ярослава. Сюда же вышли 25-й танковый корпус и войска генерала Пухова. Выход крупных танковых сил на левый берег Сана, в глубокий тыл противника, оказал большое влияние на ход борьбы за Львов.