Наступление войск Малиновского началось утром 30 января ударами 37-й и 6-й армий на вспомогательных направлениях.
Войска генерала Шарохина прорвали оборону на 8-километровом фронте и продвинулись вперед на 3–4 км. Немцы, приняв вспомогательный удар 37-й армии за начало наступления главных сил, в первый же день на этом участке ввели в бой свои резервы — 9-ю и 23-ю танковые дивизии. К вечеру бои здесь достигли наивысшего напряжения. Нашим частям приходилось отражать ожесточенные контратаки, дивизии несли большие потери.
6-я гвардейская армия продвинуться не смогла. Тем не менее отвлекающую задачу армии выполнили. Вспоминая этот день, бывший командир 82-го стрелкового корпуса генерал-лейтенант П.Г. Кузнецов пишет: «Бой явно не клеился. Докладывая командующему, я нервничал.
— Не волнуйся, это к лучшему, — успокоил он меня.
Весь день я не понимал, почему командующий расценивает положение так оптимистически. Вражеские танки появлялись один за другим, прибывала и пехота. Сопротивление врага с каждым часом нарастало. А командующий уверяет, что это к лучшему. В чем же дело? Вечером, я изнервничавшись и не добившись от дивизий выполнения задачи дня, возвратился к себе в штаб».
А на следующий день из района западнее Новониколаевки нанесли главный удар 46-я и 8-я гвардейская армии. В упорных боях оборона противника была прорвана, а попавшие под удар пятнадцати советских дивизий 16-я моторизованная, 123-я и 46-я пехотные дивизии немцев понесли тяжелые потери и начали отступать. В 16 часов 1 февраля в сражение был введен 4-й гвардейский механизированный корпус, который в ходе ночной атаки захватил ряд населенных пунктов. Мотодивизия графа фон Шверина была полностью разгромлена. В журнале боевых действий 6-й немецкой армии появилась запись: «Измотанная в непрерывных боях 16-я моторизованная дивизия, потеряв большую часть оружия и автомашин, распалась на отдельные группы…»
Генерал Холлидт, поняв, что главный удар наносится на апостоловском направлении, перебросил танковые дивизии из полосы 37-й армии против главной группировки, когда та уже прорвала оборону. Туда же командующему группой армий «Юг» пришлось вернуть с полпути 24-ю танковую дивизию, направленную ранее на усиление войск 8-й армии, сосредоточиваемых для деблокирования корсунь-шевченковской группировки.
Намеченный контрудар силами 9-й и 23-й танковых дивизий по правому флангу 4-го механизированного корпуса запоздал. Пока немецкие танки ползли по непролазной грязи к рубежу развертывания Новоукраинка, последний уже находился в руках советских танкистов, и «тридцатьчетверки», развивая успех, достигли следующего оборонительного рубежа по юго-западному берегу реки Каменки. Стрелковые подразделения успешно отразили контратаки, совершая невероятные подвиги. Полковник В.А. Крылов, описывая бой 4-й гвардейской стрелковой дивизии за деревню Софиевку, вдохновенно повествует так: «Одно за другим умолкали наши орудия. Не было снарядов… бойцы подпустили танки к своим позициям и стали забрасывать их гранатами. Кончились гранаты. А танки, тяжело ворочаясь, продолжали утюжить позиции полка. Тогда наиболее смелые взобрались на гитлеровские машины и стали забивать смотровые щели грязью (!)». По утверждению замполита, воины 3-го гвардейского полка гранатами и грязью закидали 18 танков противника.
2 февраля Гитлер, недовольный тем, что Манштейн выдергивает дивизии из днепровской излучины на север, передал 6-ю армию в подчинение группе армий «А». Но и Клейст уже мало что мог сделать. Все его резервы состояли из одной учебной пехотной дивизии.
К 5 февраля соединения 3-го Украинского фронта продвинулись на 45–60 км и овладели железнодорожным узлом Апостолово. Правофланговые дивизии 8-й гвардейской армии совместно с танкистами овладели Каменкой, Шолоховой, создав угрозу окружения 17-го армейского корпуса генерала Крейзинга (пять дивизий) в районе Марганец — Никополь. Угроза потери путей отхода вынудила Холлидта начать отвод отсюда войск на юго-запад вдоль правого берега Днепра.
6-я немецкая армия оказалась рассеченной на две части.
Из района Апостолова войска Глаголева продолжали развивать наступление на запад к реке Ингулец, а «чуйковцы» при поддержке 4-го гвардейского мехкорпуса стремились выйти к Днепру, чтобы полностью отрезать никопольскую группировку.
31 января начали активные действия и войска 4-го Украинского фронта. В 4 часа утра 50-я стрелковая дивизия 5-й ударной армии сбила неприятеля с занимаемого рубежа и продвинулась на глубину до 1,5 км. К 12 часам дня перешли в наступление 3-я гвардейская и 28-я армии.
С самого начала бои приняли напряженный характер. Немцы стремились во что бы то ни стало удержать за собой плацдарм и оказывали упорное сопротивление. Однако 23 советские дивизии ударами на разных направлениях взломали оборону 8 дивизий противника. В 15 часов в полосе 5-й ударной армии в сражение был введен 2-й гвардейский механизированный корпус. К исходу дня войска генерала Цветаева продвинулись на 7 км, а танкисты — до 11 км.
Противник под ударами советских войск начал отходить к переправам через Днепр у Большой Лепетихи и Никополя. По этим переправам сосредоточила огонь советская артиллерия, их непрерывно бомбили и обстреливали самолеты. В результате организованный отход неприятельских войск был нарушен. Однако немцам удалось сдержать наступление советских войск на предмостных плацдармах и отвести свои дивизии на северный берег.
8 февраля войска 4-го Украинского фронта полностью очистили плацдарм от противника и совместно с 6-й армией 3-го Украинского фронта освободили Никополь. Механизированный корпус Свиридова был выведен в резерв фронта.
С потерей Никополя немецкие войска, действовавшие в этом районе, лишились последнего крупного опорного пункта и оказались перед катастрофой. Для отступления 17-го и 4-го армейских корпусов оставался один узкий коридор. Его ширина от Днепра до переднего края вышедших в район Шолохова и Перевизских хуторов танковых бригад генерала Танасчишина составляла всего 6–7 км, и он простреливался всеми калибрами артиллерии и минометов. За этот коридор западнее города развернулись исключительно напряженные бои. Немцы непрерывно контратаковали, стараясь любой ценой удержать за собой узкую полоску земли и вывести по ней остатки разбитой под Никополем группировки. Прикрываясь частью сил от ударов 6-й армии генерала Шлемина, свои основные силы они бросили против 8-й гвардейской, которая стремилась выходом к Днепровским плавням отрезать им пути отхода на запад. Для отражения натиска войск Чуйкова в районах Перевизское, Марьинское генерал Шернер сосредоточил части шести пехотных дивизий, отошедших с никопольского плацдарма и остатки 9-й танковой генерала Джолассе. Сюда же срочно прибыла 24-я танковая дивизия, подтягивался 560-й отдельный батальон «тигров».
11 февраля противник силами двух танковых и четырех пехотных дивизий нанес сильный контрудар с востока и юго-востока на Апостолово, в стыке 8-й гвардейской и 46-й армий. Немногочисленные советские части, действовавшие на этом направлении, вынуждены были отойти. К исходу дня немцам удалось продвинуться на 8–10 км. Создалась угроза захвата ими Апостолова. Малиновский срочно выдвинул из резерва стрелковую дивизию и два истребительно-противотанковых артиллерийских полка. Одновременно на угрожаемое направление были перегруппированы еще четыре дивизии и 4-й гвардейский механизированный корпус.
Контрудары немецких войск удалось отразить. Но и силы 8-й гвардейской армии, действовавшие юго- западнее и южнее Апостолова, значительно ослабли. Войска испытывали недостаток в боеприпасах. 4-й гвардейский механизированный корпус, понесший значительные потери, 10 февраля пришлось вывести в резерв.
Таким образом, Шернер не допустил советские войска к Днепровским плавням и удержал за собой дорогу, идущую вдоль Днепра из Никополя на Дудчаны. По ней под непрерывными ударами артиллерии и авиации отступали части пяти немецких пехотных дивизий. При отходе эти дивизии понесли большие потери в людях и технике. Почти все тяжелое вооружение и автотранспорт были разбиты либо захвачены нашими войсками. Тем не менее основные силы 4-го и 17-го корпусов ушли из никопольской ловушки. Майор Кандутш писал в своем дневнике: «Мешок разорван. Шернер сказал «до свидания». Без него и его начальника штаба мы сейчас, возможно, уже бы маршировали в сторону Сибири. Все, кто воевал в Никополе, никогда не забудут, чем мы обязаны Шернеру».