С целью претворения своего замысла в жизнь Манштейн планировал нанести удар по советским войскам, продвигавшимся в глубь бреши между 4 и 1-й танковыми армиями, с трех сторон — с востока, запада и юга.
После завершения Житомирско-Бердичевской операции Жуков вместе с командующими 1 и 2-м Украинскими фронтами приступил к планированию дальнейших действий на Правобережной Украине. 9 января Жуков и командующий 1-м Украинским фронтом генерал Ватутин представили Сталину следующий доклад
:
«1. Ближайшая задача фронта остается прежняя, т. е. на правом крыле выйти на р. Горынь и р. Случь, овладеть Домбровицей и Сарнами, в центре и на левом фланге фронта разгромить жмеринскую и уманскую группировки противника, овладеть Винницей, Жмеринкой, Уманью, Луками Барскими и выйти на линию Любар, Хмельники, Луки Барские, Мурафа, Тульчин, Умань».
Операцию предусматривалось провести по следующему плану. Главный удар силами 1-й гвардейской, 18, 38-й армий, 31-го танкового и 5-го механизированного корпусов, 13 и 17-й артиллерийских дивизий и 3-й гвардейской минометной дивизии нанести в направлении Луки Барские, Каменец-Подольский. Войска 1-й гвардейской армии должны были овладеть районом Старо-Константинов, Проскуров, Волочиск и выйти главными силами в район Волочиска. 18-й армии предстояло выйти главными силами в район Гусятина, а 38-й армии — на рубеж (иск.) Скала, Каменец-Подольский, Хотин, Калюс и овладеть городами Каменец-Подольский, Хотин.
На правом крыле фронта силами 13 и 60-й армий, усиленных 1 и 6-м гвардейским кавалерийскими, 4-м гвардейским и 25-м танковыми корпусами, планировалось разгромить ровно-шепетовскую группировку противника. При этом 13-я армия должна была нанести главный удар в направлении Ровно, Луцк и выйти главными силами в район Ковель, Луцк, Дубно, Ровно. 60-й армии предписывалось овладеть районами Шепетовки, Изяславля и выйти главными силами в район Дубно, Кременец.
Войска 40 и 27-й армий, действовавшие на левом крыле фронта, получили задачу обеспечить стык со 2-м Украинским фронтом и все левое крыло 1-го Украинского фронта. При этом 40-я армия, наступая в направлении Гайсин, Тульчин, Вапнярка, Могилев-Подольский, должна была выйти на р. Днестр на участке (иск.) Калюс, Могилев-Подольский, Сороки и овладеть городом Могилев-Подольский. На 27-ю армию возлагалась задача выдвинуться на рубеж (иск.) Сороки, Вербка, Гайворон, Умань с задачей обеспечения левого фланга фронта до подхода правого крыла 2-го Украинского фронта. 3-ю гвардейскую танковую армию планировалось после приведения в порядок направить на Каменец-Подольский, а 1-ю танковую армию — на Могилев-Подольский.
В докладе отмечалось, что задачи центра и левого крыла фронта будут выполнены в течение 10–12 дней. С целью не дать противнику закрепиться на рубеже р. Горынь и Збруч намечалось ориентировочно с 20 января продолжать операцию с задачей к 5–10 февраля главными силами фронта выйти на рубеж Ожеховский канал, Ковель, Луцк, Дубно, Кременец, Волочиск, Гусятин, Каменец-Подольский и р. Днестр на участке Хотин, Могилев-Подольский, Сороки.
Сталин утвердил предложения Жукова и Ватутина. Но вскоре, 12 января, Иосиф Виссарионович уточнил задачи войскам 1-го Украинского фронта:
«Группировка противника, продолжающая оставаться в районе Звенигородка, Мироновка, Смела, связывает действия смежных флангов 1 и 2-го Украинских фронтов и задерживает выдвижение их к р. Южный Буг.
Наступление главных группировок обоих фронтов развивается по параллельным направлениям, решительных мер для ликвидации остающегося выступа противника не принимается.
Учитывая это обстоятельство, Ставка Верховного главнокомандования ставит перед 1 и 2-м Украинскими фронтами ближайшую задачу: окружить и уничтожить группировку противника в звенигородско-мироновском выступе путем смыкания левофланговых частей 1-го Украинского фронта и правофланговых частей 2-го Украинского фронта где-нибудь в районе Шполы, ибо только такое соединение войск 1 и 2-го Украинских фронтов даст им возможность развить удар для выхода на р. Южный Буг»
.
В этой связи было приказано 1-му Украинскому фронту направить главные усилия 27-й армии, 5-го гвардейского танкового корпуса и части сил 40-й армии на овладение рубежом Тальное, Звенигородка с последующим выдвижением подвижных частей на Шполу. В случае необходимости разрешалось привлечь к этой операции 104-й стрелковый корпус. 2-му Украинскому фронту предписывалось главные усилия 52, 4-й гвардейской, части сил 53-й армий и не менее двух механизированных корпусов направить на овладение рубежом Шпола, Новомиргород и соединение в районе Шполы с войсками 1-го Украинского фронта.
20 января Ставка ВГК принимает решение о формировании к 30 января в составе 1-го Украинского фронта 6-й танковой армии под командованием генерал-лейтенанта танковых войск А. Г. Кравченко, освободив его от должности командира 5-го гвардейского танкового корпуса. В состав армии включались 5-й гвардейский танковый, 5-й механизированный корпуса, гвардейский минометный полк, части и подразделения других родов войск.
Таким образом, Жукову предстояло одновременно координировать действия войск в двух операциях — Корсунь-Шевченковской и Ровно-Луцкой.
К началу Корсунь-Шевченковской операции было создано превосходство над противником по пехоте в 1,7 раза, артиллерии — в 2,4, танкам и САУ — в 2,7 раза. По авиации силы сторон были примерно равными. На направлениях главных ударов в результате проведенных перегруппировок было достигнуто более значительное превосходство над противником: в 1-м Украинском фронте — почти двукратное по пехоте и трехкратное по танкам и артиллерии; во 2-м Украинском фронте — более чем трехкратное по пехоте, шестикратное по артиллерии и десятикратное по танкам.
Операция готовилась в сложной обстановке. Особенно трудно приходилось 1-му Украинскому фронту, войска которого в это время отражали ожесточенные удары противника в районе севернее Умани и восточнее Винницы. Рано начавшиеся оттепель и распутица затрудняли маневры войск, подвоз материальных средств и использование авиацией грунтовых аэродромов. 1-й Украинский фронт должен был начать наступление 26 января, 2-й Украинский — на день раньше. Это обусловливалось разницей расстояний, которые должны преодолеть ударные группировки фронтов до Звенигородки — пункта, где они должны были соединиться.
Фактически наступление 2-го Украинского фронта началось 24 января действиями передовых батальонов, которые к исходу дня вклинились в оборону противника на глубину до 6 км. 25 января вслед за ними в сражение были введены главные силы 4-й гвардейской и 53-й армий, а во второй половине дня — и 5-й гвардейской танковой армии. Они расширили прорыв до 25 км по фронту и до 16 км в глубину.
26 января в наступление перешла ударная группировка 1-го Украинского фронта, но продвигалась она медленно. Противник, стремясь ликвидировать прорыв, нанес несколько контрударов по флангам ударной группировки 2-го Украинского фронта (тремя танковыми дивизиями с юга, одной танковой и тремя пехотными дивизиями с севера) в общем направлении на Капитановку, однако они были отражены. 28 января войска обоих фронтов соединились в районе Звенигородки, завершив окружение корсунь-шевченковской группировки противника (до 50 тыс. человек). Немецкое командование было вынуждено прекратить контрудары против войск 1-го Украинского фронта восточнее Винницы и севернее Умани, а все танковые дивизии перебросить на спасение окруженных войск.