В ударный «кулак» на львовском направлении вошли 60-я армия генерала П.А. Курочкина, 38-я армия генерала К.С. Москаленко, 3-я гвардейская танковая армия Рыбалко, 4-я танковая армия Лелюшенко, конно-механизированная группа генерала С.В. Соколова в составе 31-го танкового и 6-го гвардейского кавалерийского корпусов. С воздуха их поддерживали пять авиационных корпусов.
Таким образом, были созданы сильные ударные группировки войск на обоих направлениях. В луцкой на участке прорыва шириной 12 км намечалось сосредоточить
14 стрелковых дивизий, два танковых, механизированный, кавалерийский корпуса и две артиллерийские дивизии прорыва — 3250 орудий и минометов, 717 танков и самоходных установок, 1300 самолетов. На львовском направлении на 14-километровом участке должны были нанести удар
15 стрелковых дивизий, четыре танковых, два механизированных, кавалерийский корпуса и две артиллерийские дивизии прорыва — 3775 стволов, 1084 танка и САУ, 1950 самолетов.
3-я гвардейская и 4-я танковая армии должны были глубокими охватывающими ударами севернее и южнее Львова на пятый день операции выйти на рубеж Немиров—Яворов значительно западнее города.
На левом крыле фронта по предгорьям Карпат были развернуты войска 1-й гвардейской армии генерала А.А. Гречко и 18-й армии Е.П. Журавлева. Используя успех соседей, армия Гречко, создав ударную группировку из пяти дивизий и 4-го гвардейского танкового корпуса, должна была перейти в наступление, захватить плацдарм на Днестре в районе Галича, обеспечивая этим действия войск на львовском направлении. Армии Журавлева, действовавшей южнее Днестра, ставилась задача прочно удерживать занимаемые рубежи и быть в готовности к переходу в наступление на Станиславском направлении.
В резерве фронта имелась 5-я гвардейская армия генерала А.С. Жадова, которая по указанию Ставки была переброшена из состава 2-го Украинского фронта, и 47-й стрелковый корпус.
Развернув наступление, ударные группировки должны были разгромить главные силы противостоящего противника, частью сил ударами по сходящимся направлениям окружить и уничтожить немецкие соединения в районе Бродов. Затем им предстояло, развивая успех и обходя Львов с северо- запада и юго-запада, овладеть городом. На пятый день операции планировался их выход на рубеж Грубешув, Томашув, Немиров, Яворов, Роздал. На втором этапе главные усилия переносились на сандомирское направление с целью форсирования Вислы и создания крупного оперативного плацдарма в районе Сандомира. В реальности осуществление окружения было связано с немалыми трудностями, поскольку на линии развертывания ударных группировок фронт не имел никаких изгибов.
10 июля план операции был окончательно утвержден Ставкой. При этом были даны указания использовать танковые армии и конно-механизированные группы не для прорыва обороны, а для развития успеха, а также выражены сомнения в способности пехоты поддерживать темп продвижения 35 км в сутки, который установил Конев.
Чтобы скрыть подготовку операции, штаб фронта разработал план оперативной маскировки, которым предусматривалось имитировать сосредоточение двух танковых армий и танкового корпуса на левом крыле фронта, в полосах 1-й гвардейской и 18-й армий. Для его осуществления в широком масштабе применялись ложные перевозки бронетехники по железной дороге, имитировались районы выгрузки танковых соединений, обозначался их марш в район сосредоточения и велись открытые радиопередачи. В ложных районах было выставлено большое количество макетов танков, автомашин, орудий и другой техники. Ложные аэродромы с макетами самолетов для натуральности прикрывались дежурными звеньями истребителей. В ряде населенных пунктов побывали «квартирьеры», распределявшие дома для «прибывающих штабов и частей».
Несмотря на строжайшие меры маскировки, полностью обмануть противника не удалось. Немцы ждали наступления войск 1-го Украинского фронта в первую очередь, на львовском направлении, где поставили оперативный резерв — 3-й танковый корпус. Они усилили разведку, вскрыли расположение и состав общевойсковых армий, определили направления готовящихся ударов, наметили контрмероприятия, в частности, отвод войск на вторую полосу на значительном участке фронта, однако переброску в район южнее Луцка танковой армии Катукова не выявили.
Плотность орудий и минометов на участках прорыва составила более 250 стволов на 1 км. Продолжительность артиллерийской подготовки планировалась 1 час 40 минут. Для непосредственной поддержки пехоты выделялось 349 танков и САУ. В период подготовки операции соединения фронта «получили значительное пополнение людьми, призванными из областей Правобережной Украины». Политработники помогали этим людям «полностью освободиться от последствий фашистской и буржуазно- националистической пропаганды и по-настоящему подготовиться к выполнению воинского долга». После этого необученных призывников почти сразу бросали на передовую, не считаясь ни с какими потерями, и это был самый испытанный способ освободить их от влияния «буржуазно-националистической пропаганды».
Прорыв предстояло проводить в благоприятных условиях, когда Белорусские фронты успешно преследовали противника на подступах к Неману и в верховьях Нарева, создавая тем самым угрозу обхода левого фланга группы армий «Северная Украина». Ход операции «Багратион» давал основания предполагать возможный отвод немцами своих войск в глубину перед правым флангом или во всей полосе 1-го Украинского фронта, что следовало.
Действительно, 10 июля Коневу стало известно о намерении противника отвести свои силы на вторую полосу обороны. Маршал в мемуарах пишет, что это его с толку не сбило: «Из опыта предыдущих операций мы учли, что противник всегда пытается обмануть нас, отведя свои силы с первой полосы обороны на вторую, чтобы сохранить силы в период артподготовки и сорвать наше наступление». Все правильно, вот только плана на этот случай у командующего не имелось. В результате немцы на рава-русском направлений, прикрываясь арьергардами 291-й пехотной дивизии, успели отойти основными силами 42-го армейского корпуса на вторую полосу, уплотнить боевые порядки и подбросить резервы. Правда, стрельбы по пустому месту удалось избежать.
12 июля Конев решил провести разведку боем силами усиленных рот от каждой дивизии первого эшелона. В 22 часа на обоих направлениях предстоящих ударов вперед двинулись разведывательные отряды. В полосе 3-й гвардейской армии было установлено, что с наступлением сумерек 88-я и 72-я пехотные дивизии начали отход с переднего края. Непосредственно перед участком прорыва части 291-й пехотной дивизии отразили атаку разведывательных отрядов. В течение 13 июля еще можно было отдать распоряжения о перемещении и развертывании ударных группировок перед второй полосой и спланировать ее прорыв и эффективное огневое поражение, но командующий не стал этого делать.
Наступление на северном фланге началось 13 июля после 30-минутной артподготовки силами передовых батальонов 3-й гвардейской и 13-й армий. В течение дня передовые батальоны продвинулись на 7–8 км. Наконец, в 18 часов после массированных огневых налетов артиллерии и ударов авиации перешли в наступление главные силы дивизий первого эшелона. Они быстро сломили сопротивление противника, что неудивительно, поскольку оборону здесь держали два полка 291-й пехотной дивизии, и устремились ко второй полосе, но прорвать ее с ходу не смогли. Основные силы 42-го немецкого корпуса — три пехотные дивизии — успели без больших потерь отступить и подготовиться к отражению атак. На направлении удара северной группировки противник подтянул также 16-ю и 17-ю танковые дивизии.
В итоге первый удар пришелся в пустоту. Теперь следовало произвести перегруппировку войск, что требовало 12–16 часов, произвести разведку и готовить новый прорыв. Командующий фронтом решил не терять на это времени. Вот на людях можно было не экономить, тем более на неблагонадежном пополнении. Атака второй полосы началась утром 14 июля при плотности 90–100 орудий, когда имелась возможность иметь по 200 стволов на километр. Переместившаяся за войсками артиллерия едва заняла позиции и не успела произвести пристрелку. Разведывательных данных о противнике и его огневых средствах на второй полосе обороны почти не имелось. Поэтому Конев решил не тратить зря снаряды: огневой налет длился всего 5 минут. Естественно, противник оказался слабо подавленным, а наступающие войска встретили упорное сопротивление. Ряд контратак предприняли немецкие танковые дивизии. Для их отражения, по свидетельству генерала И.П. Галицкого, были применены «противотанковые» собаки:
«Особо нахально лезли вперед фашистские танки. В резерве полковых саперов был взвод собак — истребителей танков лейтенанта И.Н. Жукова. Командир части полковник Покровский приказал лейтенанту