Львов был занят немецкими войсками 30 июня 1941 года и со временем был превращен в мощный укрепрайон. Местность к востоку и северо-востоку от города благоприятствовала обороне. Ближайшие селения немцы превратили в опорные пункты с развитой системой инженерных сооружений и заграждений.
13 июля 1944 года Красная Армия начала Львовско-Сандомирскую наступательную операцию, одной из задач которой было освобождение Львова. К исходу 18 июля дивизии 3-й гвардейской танковой и 13-й армий находились в 20-30 км от Львова. 4-я танковая армия вышла в район Ольшаница в 40 км от Львова. В этой ситуации комфронта Конев отдал командармам 3-й гвардейской и 4-й танковых армий приказ обходным маневрам с севера, северо-запада и юга 20 июля овладеть Львовом. Однако 20 июля взять Львов не удалось. Накануне прошли сильные дожди, танковые армии завязли. Также сильно отстали тылы, танковые соединения не смогли вовремя получить горючее и боеприпасы. Отстала и артиллерия, необходимая для взлома немецкой обороны, подавления огневых точек противника. Войска танковой армии уперлись в значительное торфяное болото и были вынуждены вести затяжные бои на подступах к городу, пытаясь захватить проходы к Львову там, где противник имел самые сильные позиции. В результате возможность стремительного обходного маневра не была использована, танковая армия стала вести фронтальные бои на неудобной для бронетехники местности.
К исходу 22 июля основные силы 4-й танковой армии Лелюшенко вели бои на южной окраине Львова, а её 10-й гвардейский танковый пробился в сам город. Причем бои шли настолько упорные, что немцы отрезали передовой корпус от основных сил армии, и он вел бои во временном окружении. В это время 6-й гвардейский танковый корпус армии Рыбалко вышел в район Яворова, а войска 60-й армии рвались к восточной окраине Львова.
Советские войска ведут бой на улицах Львова.
23 июля, в связи с выходом советских войск к Львову, подняли восстание подразделения Армии Крайовой, осуществляя план «Буря»: любой ценой овладеть Львовом, создать польскую администрацию, которая представляла бы правительство Польши перед войсками 1-го Украинского фронта. Они захватили предместья Голоску, Погулянку, кварталы на нескольких улицах. Немецкое командование, под угрозой окружения войск в районе Львова, стало выводить войска в сторону Самбора, на юго-запад. При этом были сформированы сильные арьергарды, которые продолжили удерживать позиции и прикрывать отход тыловых подразделений. 24 июля советское командование, пытаясь отрезать противнику пути отхода на Перемышли и Самбор, повернуло на юг два подвижных соединения фронта. КМГ генерала Баранова получила задачу выйти западнее Перемышль, в район Кросно, захватить переправы через реку Сан. Отряды с танками и артиллерией должны были занять оборону фронтом на восток, не дав немецким войскам переправиться через реку. 1-я гвардейская танковая армия получила задачу после форсирования реки Сан у Ярослава, нанести удар на юг, в сторону Перемышля.
24-27 июля шли бои за Львов. Немецкие арьергарды, опираясь на хорошо подготовленные укрепления, и выгодный для обороны рельеф местности продолжали сдерживать наступление советских войск. 26 июля части 60-й армии взяли ряд опорных пунктов противника и прорвались на восточную окраину города. Части 4-го гвардейского танкового корпуса генерала П. П. Полубоярова, наступая вдоль шоссе Миклашув — Львов, к исходу дня соединились с 10-м гвардейским танковым корпусом 4-й танковой армии. Армия Рыбалко продолжала наступление с запада и дошла до Городка. Однако здесь немцы организовали сильный узел сопротивления и наступление 3-й гвардейской танковой армии застопорилось. Танковые части пришлось усилить стрелками из состава 13-й армии, чтобы сломить оборону противника. Утром 27 июля Львов был освобожден от гитлеровцев. Остатки немецкого гарнизона бежали на юго-запад.
Львовяне встречают освободителей.
В течение двух дней улицы Львова вместе с красноармейцами патрулировали аковские воины с бело-красными повязками на рукавах, а на многих домах были установлены бело-красные флажки. На ратуше с 26 июля развевался польский флаг, а ниже, на рогах башни — ещё четыре: флаги США, Англии, Франции и СССР. Лондонское правительство Польши считало осуществление операции «Буря» во Львове чрезвычайно успешным. Однако период мирного сосуществования войск Красной Армии и Армии Крайовой, а затем советской власти с польскими структурами быстро закончился. 28 июля командующего польскими войсками В. Филипковского вызвали на приём к представителю НКВД комиссару госбезопасности Грушке, где однозначно заявили, что Львов — советский город, и выдвинули требования: немедленно снять польские флаги в городе, прекратить патрулирование, сосредоточить части в казармах и сложить оружие. Польский генерал подписал соответствующий приказ военным Львовского округа АК и по предложению Грушки 30 июля самолётом вылетел в Житомир, где якобы находился штаб командующего Войска Польского генерала Роля-Жимерского. В Житомире он и командующие Тернопольского округа — полковник Студзинский и Львовского района — полковник Червинский были арестованы и оказались в одном из лагерей ГУЛАГа в Сибири. 29 июля командование Львовского района и округа, командиры частей АК и чиновники польской администрации были приглашены органами советской власти на совещание в штаб округа. Когда поляки собрались, дом окружили сотрудники НКВД и всех 32 участников совещания арестовали, а затем осудили на 10-20 лет заключения. 2 августа был издан последний приказ АК о ликвидации 3-го Львовского округа, а личному составу его частей во Львове было предложено вступить в Войско Польское или быть интернированными до конца войны. Подавляющее большинство солдат и офицеров отказались и попали в советские концлагеря. Некоторым удалось перейти на нелегальное положение или бежать за Сан и присоединиться к действующим в Польше частям АК.
См. также: Фото | СССР. Львов во время войны