Первая атака была предпринята семьюдесятью советскими дивизиями 1-го Украинского фронта, которым командовал И.С. Конев. Советские войска форсировали Вислу и заняли плацдарм недалеко от Баранова, в 120 милях к югу от Варшавы. Советская артиллерия обрушила на немцев шквал огня, и за три дня бойцы Красной армии взломали линию обороны противника, захватили Кильце и хлынули по польской равнине растекающимся потоком.
Через два дня войска 1-го Белорусского фронта Г.К. Жукова выдвинулись с плацдармов в районе Магнушева и Пулавы, в 75 милях от Варшавы, а части 2-го Белорусского фронта К.К. Рокоссовского переправились через реку Нарев на севере от Варшавы. Дивизии Жукова выдвигались с севера, окружая Варшаву, а войска Рокоссовского тем временем прорвали оборонительные линии немцев, прикрывавшие южные подходы к Восточной Пруссии, и создали брешь 200 миль шириной. Теперь 200 советских дивизий двигались на запад.
Верховное командование нацистов пребывало в растерянности. Гитлер, с каждым днем все больше игнорировавший реальное положение дел, 16 января вернулся в Берлин из «Орлиного гнезда» на востоке от Рейна. Мраморные залы рейхсканцелярии лежали в руинах из-за бомбежек, но подземный бункер, расположенный на глубине 50 футов, был цел. Наконец-то Гитлер решил, что армии на Западе должны перейти к обороне, чтобы дать возможность имевшимся в наличии войскам отразить наступление русских армий. Фюрер приказал 6-й танковой армии немедленно двинуться на восток.
Гудериан был в восторге: он собирался использовать армию для охвата с флангов советских передовых отрядов в Польше, чтобы задержать их продвижение. Однако он узнал, что Гитлер посылает 6-ю танковую армию в Венгрию, чтобы она деблокировала Будапешт.
«Услышав это, я потерял самообладание и выразил свое отвращение к Йодлю в весьма откровенных выражениях», — писал Гудериан. Однако это не изменило мнения Гитлера.
17 января оперативное управление генштаба доложило, что советские войска собираются окружить Варшаву, и внесло предложение создать новую оборонительную линию западнее. Гудериан согласился и приказал частям варшавского гарнизона немедленно отходить. Когда Гитлера проинформировали об этом, он стал настаивать, чтобы Варшаву удержали любой ценой. Однако начальник гарнизона проигнорировал приказ Гитлера и увел свои батальоны. Гитлер пришел в ярость и в следующие несколько дней думал лишь о том, как наказать генеральный штаб.
Гудериан заявил, что это решение принял он, но Гитлер ответил ему: «Нет, я преследую не вас, но генштабистов. Для меня невыносимо, когда кучка интеллектуалов осмеливается навязывать свое мнение старшим по званию».
Гитлер арестовал полковника и двух подполковников оперативного управления. Гудериан потребовал расследования, и два агента гестапо несколько дней допрашивали его. Эти допросы отняли у Гудериана много времени и нервной энергии в момент, когда на Восточном фронте разворачивалась битва не на жизнь, а на смерть. Гудериан добился, чтобы двух офицеров отпустили, но третий остался в концентрационном лагере до конца войны.
25 января Гудериан попытался заставить министра иностранных дел Иоахима фон Риббентропа уговорить Гитлера, чтобы тот заключил перемирие на Западном фронте, продолжая при этом сражаться с русскими на востоке. Риббентроп ответил, что у него не хватит смелости подойти к фюреру с таким предложением. Когда Гудериан собрался уходить, Риббентроп сказал: «Этот разговор останется между нами не так ли?» Гудериан заверил его в этом. Но Риббентроп сам разболтал все Гитлеру, и в тот же вечер фюрер обвинил Гудериана в измене.
Между тем русские войска продолжали продвигаться вперед на всех фронтах, 19 января дошли до германской границы в Силезии и вскоре захватили всю Верхнюю Силезию. Войска Жукова взяли Лодзь, Познань, пересекли немецкую границу и 31 января вышли к Одеру вблизи Кюстрина (ныне Костриш), всего в 40 милях от Берлина. Теперь 380 миль отделяли русских от передовых позиций западных союзников.
В то же время Рокоссовский подошел к южным воротам Восточной Пруссии у Млавы и двинулся к Данцигскому заливу, изолировав германские войска в Восточной Пруссии. Немцы отошли в Кенигсберг (ныне Калининград), где их осадили русские войска.
Фактически ничем не сдерживаемое продвижение Красной армии вызвало лихорадочное бегство большинства немцев — гражданских лиц на запад. Потоки беженцев запрудили дороги, создавая сутолоку и неразбериху, и весьма усложняли продвижение войск.