30 января оба фронта перешли в наступление. 3-й Украинский перехитрил врага. Малиновский начал атаки в направлении Кривого Рога. Направлял сюда технику, большое количество грузов. Этот участок усиленно обрабатывала фронтовая артиллерия. Немцы поверили, подтянули сюда последний резерв, две танковых дивизии. Но основная группировка Малиновского, две армии с механизированным корпусом, обрушилась на врага на другом направлении, на Апостолово, мощным рывком преодолела германскую оборону. Манштейн понял, что дело совсем худо. Развернул назад соединения, ушедшие на выручку Штеммерману. Но было уже поздно. Войска 3-го Украинского углубляли прорыв, одну за другой перехватывали дороги в тыл.
2 февраля стало ясно: назревает катастрофа еще и похлеще, чем под Корсунем-Шевченковским. Ведь 6-я германская армия оставалась за Днепром! Отрежут – и конец. Возвращенные танковые дивизии бросили в контратаки. Они несли страшные потери, снежная степь чадила горящими машинами. Такой ценой удерживались дороги, по которым с плацдарма выводили 6-ю армию. Но на переправах через Днепр царил кромешный ад. Отступающие войска забили все подступы к мостам и паромам. А советская авиация налетала беспрестанно, бомбила и расстреливала их. Возникали чудовищные пробки из полыхающих машин, повозок. Немецкие солдаты сбивались в толпы, мечущиеся в диком ужасе. На плацдарме побросали все тяжелое вооружение, автотранспорт. Но и за Днепром продолжалось бегство. 8 февраля немцы оставили Никополь, оставили и Кривой Рог. Разгромленными оказались 12 дивизий, потери превысили 40 тыс. человек.
Резкие перемены обозначились и в северо-западных районах Украины. В те же самые дни, когда армии левого крыла 1-го Украинского фронта удерживали окружение под Корсунем-Шевченковским, было приказано перейти в наступление правому крылу этого фронта – отвлечь на себя противника. Но выдергивания и переброски вражеских контингентов сказались здесь в полной мере. Наши воины неожиданно встретили весьма слабое сопротивление, опрокинули немцев. В прорыв вошли два гвардейских кавалерийских корпуса, 1-й и 6-й. Перед ними лежали дебри Полесья, а там фронта вообще не было – глухомань, болота, гарнизоны только по городишкам и деревням. Но болота замерзли, кони обходили укрепленные пункты без дорог. Корпуса двигались по 40–50 км в день, а враг даже не подозревал о них. Лавина конницы очутилась в тылу у германских частей, готовившихся оборонять Ровно и Луцк. Свалилась, будто снег на голову, с ходу овладела обоими городами.
Конечно, и наши войска несли потери. На площадях освобожденных городов, за околицами сел оставались скромные пирамидки со звездочками. Война не щадила даже командующих фронтами. Один из лучших советских полководцев, Николай Федорович Ватутин, по дороге из 13-й в 60-ю армии случайно нарвался на отряд бандеровцев. Они обстреляли появившиеся машины, Ватутин был тяжело ранен. Его лечили лучшие врачи, генерал шел на поправку. Но в рану попала инфекция, началась гангрена. Спасти его не удалось. Представитель Ставки Жуков отлично знал обстановку и временно принял командование 1-м Украинским – чтобы смена командующего не задержала продолжающихся операций и не повлияла не них.
Положение складывалось чрезвычайно выгодное, назревало еще одно стратегическое окружение. Прорыв наших войск на Луцк и Ровно охватывал с севера всю германскую группу армий «Юг». И как раз здесь, под Луцком и Ровно, быстро сосредоточили ударную группировку из двух танковых и двух общевойсковых армий. 4 марта она врезалась в боевые порядки немцев, еще не оправившихся после прошлых поражений. Стала продвигаться с севера на юг – к Тернополю, Проскурову. Однако и Гитлер уже отдавал себе отчет: дело на Украине пахнет полным разгромом. Сюда уже спешным порядком перегоняли резервы откуда только можно: из Франции, Италии, Югославии, Венгрии. По-прежнему играл огромную роль промышленный потенциал всей Европы. Из танкистов, выписанных из госпиталей, из наскоро добавленных к ним пополнений в короткие сроки реанимировались бронированные соединения.