Против группы армий «Северная Украина» русские перешли в наступление 14 июля. Войска 1-го и 4-го Украинских фронтов стремились выйти к Висле в среднем ее течении, форсировать реку Сан и отбросить 1-ю танковую армию к Карпатам. Наступление началось прорывом в районе Броды, и через два дня армии Конева уже вышли, к Верхнему Бугу север нее Львова. Затем правое крыло 1-го Украинского фронта прорвало оборону 4-й танковой армии у Ковеля, в результате чего Модель, по-прежнему совмещавший командование группами армий «Центр» и «Северная Украина», принял решение отвести обе армии за Буг, дабы не допустить русского прорыва на стыке между ними. Но и на Буге задержаться не удалось. 22 июля русские были уже у Хелма, расположенного на западном берегу реки. В тот же день 1-я танковая армия была отброшена до восточных окраин Львова, в то время как ее южный фланг все еще находился восточнее Станислава на левом берегу Днестра.
В последующие дни замысел русских пробиться к Висле и Сану и отбросить 1-ю танковую армию к Карпатам стал очевидным. Положение этой армии осложнялось тем, что она имела задачу по возможности дольше удерживать рубеж Станислав, Львов, в то время как ее северный фланг оттеснялся энергично продвигавшимися русскими к Сану. К концу месяца русские вышли к Сану у Перемышля, Ярослава и западнее Тарногруда. Лишь 27 июля центр 1-й танковой армии отошел от Львова к Самбору, южный же фланг все еще продолжал удерживаться восточнее, в районе Стрыя, что вызывалось необходимостью прикрытия проходов через Карпаты, ибо потеря этих проходов открыла бы русским путь в Закарпатскую Украину и в Венгрию.
Еще 23 июля новый начальник Генерального штаба сухопутных сил генерал-полковник Гудериан потребовал непременного удержания рубежа Сана и Вислы. Дальнейшее отступление надлежало прекратить, так как «иначе можно постепенно откатиться до Одера и Эльбы». Тем не менее с Сана к концу июля пришлось отойти, ибо русские 3 августа уже были в Жешуве. 6 августа они приступили к преодолению следующей водной преграды – реки Вислока, а также Вислы у Сандомира.
Наряду с этим глубоким вклинением в Галицию русское наступление с самого начала было нацелено на Среднюю Вислу и Варшаву. После форсирования Буга в районе Хелма армии 1-го Украинского фронта продолжали продвижение к Люблину и 24 июля овладели этим городом, оттеснив 4-ю танковую армию к Краснику и к Висле у Пулав. Используя это прикрытие с фланга, 1-й Белорусский фронт после форсирования Буга севернее и южнее Влодавы повернул на северо-запад и север с целью охватить южное крыло группы армий «Центр» и одновременно выйти к Варшаве. Последовавшее затем стремительное продвижение привело русских 24 июля к городам Бяла-Подляска и Лукув; центр русских войск приблизился к Седльце.
Для отражения этих исключительно опасных ударов Модель собрал все силы, какие только можно было использовать. Он поручил штабу 9-й армии, который с середины июля был снят с фронта, совместно с 4-й танковой армией обеспечить удержание Вислы между Пулавами и Варшавой. В польской столице, в которой уже назревало восстание, и на Висле к тому времени располагались лишь слабые части по охране тыла. 9-й армии были обещаны две пехотные и две танковые дивизии, основные силы которых должны были использоваться на создававшемся юго-восточнее Варшавы предмостном укреплении. 2-я армия, чей правый фланг находился все еще южнее Бреста, должна была выделить силы для прикрытия района Седльце. Так как войска 1-го Белорусского фронта северо-западнее Бреста уже вышли к Бугу, а в отдельных местах даже форсировали его, то далеко выдвинутому на восток Бресту в случае дальнейшего продвижения русских с юга грозило окружение. Хотя командование группы армий «Центр» еще раньше заявляло, что удержание Бреста из-за общей нехватки сил означало бы лишь их невосполнимую утрату, Гитлер вновь уступил лишь после того, как крепость была окружена. Гарнизону пришлось в течение 28–29 июля с тяжелыми потерями пробиваться на северо-запад. Несмотря на это совершенно ненужное осложнение, группе армий удалось подготовить новый рубеж для южного фланга 2-й армии, проходивший от Седльце до Бяла-Подляска, и настолько своевременно перебросить силы в район юго-восточнее Варшавы, что удар русских между Вислой и Бугом был отражен. 27 июля войска левого крыла 1-го Белорусского фронта натолкнулись в районе Гарволина на выдвинутые вперед немецкие силы. Вплоть до района Седльце и дальше развернулись упорные бои, в ходе которых русским временно удалось продвинуться между западным флангом 2-й армии и варшавским предмостным укреплением и сжать последнее со всех сторон. Но и этот кризис был ликвидирован в результате немецких контратак, приведших 3 августа к окружению и уничтожению прорвавшегося танкового корпуса русских. Значительное облегчение принесла авиация, совершившая в течение 28 июля 560 самолето-вылетов. Однако хроническая нехватка горючего делала подобную помощь возможной лишь в виде редких исключений.