В соответствии с планом артиллерийского наступления на артиллерийскую подготовку атаки отводилось 30 минут, из которых в течение первых пяти минут орудия и минометы всех калибров должны были участвовать в огневом налете по переднему краю обороны противника. В последующие пятнадцать минут артиллерия и минометы привлекались для ведения прицельного огня по заранее намеченным и вновь выявленным огневым точкам и живой силе противника. Атаке должен был предшествовать десятиминутный огневой налет по переднему краю и обратным скатам высот в расположении опорных пунктов противника. Артиллерийская поддержка атаки должна была проводиться методом последовательного сосредоточения огня. Значительная часть артиллерии выделялась в качестве орудий сопровождения в боевые порядки пехоты и танков.
В течение 6–8 декабря войска частью сил вели бой в городе и главными силами готовились к решающему штурму. Наша авиация продолжала наносить удары по войскам противника в районе железнодорожной станции, в юго-восточной части Черкасс, в районах хуторов Кирилловка и Даниловка.
К утру 9 декабря войска армии заняли исходное положение для наступления. В 8:30 после 30-минутной артиллерийской подготовки начался штурм города.
С первых минут боя противник оказал упорное сопротивление на всех участках наступления наших войск. Наиболее ожесточенный характер носили бои в районе железнодорожной станции. Отражая яростные контратаки пехоты и танков врага и медленно продвигаясь, очищая от противника кварталы города, части 7-й гвардейской воздушно-десантной дивизии к исходу дня овладели железнодорожной станцией, очистили от вражеских солдат квартал 137 и завязали бои за 138-й квартал. Один полк этой дивизии, тесня противника в южном направлении, вышел на линию сарай в 1,5 км юго-западнее станции, выемка с отметкой -1,5, обеспечив тем самым наступавшие на город главные силы армии от возможных ударов противника с юга.
Части 254-й стрелковой дивизии вели наступление непосредственно в городе. Очистив от противника ряд кварталов, дивизия отразила во второй половине дня две сильные неприятельские контратаки с направления квартала 182 и к исходу дня вышла в район кварталов 171 и 168.
Одновременно с частями 254-й стрелковой дивизии в городе вели бои 294-я и 373-я стрелковые дивизии. Два полка 294-й стрелковой дивизии, наступая вдоль улиц в юго-восточном направлении, очистили от вражеских солдат кварталы 143, 144, 145 и 146 и завязали бои в кварталах 163, 165 и 166.
1239-й полк 373-й стрелковой дивизии наступал в направлении станции на берегу Днепра. В течение дня подразделения полка отразили несколько контратак врага с направления станции, очистили от противника свыше десяти кварталов и вышли на проспект Кагановича. 1235-й полк 373-й стрелковой дивизии с подразделениями 1237-го стрелкового полка весь день 9 ноября вели бои в районе сахарных заводов на восточной окраине города, отбросив противника за линию железной дороги.
Части 62-й гвардейской стрелковой дивизии, обеспечивая с юга главную группировку армии, наступавшую в городе, отбили в течение дня две атаки противника от озера Ракита и хутора Кирилловка и к исходу дня удерживали занимаемые позиции.
Весьма напряженные бои развернулись 10 декабря в районе железнодорожной станции. Противник, сосредоточив против 29-го гвардейского воздушно-десантного полка до двух батальонов пехоты с 13 танками, контратаковал утром 10 декабря подразделения полка, оборонявшиеся на флангах. Вследствие неожиданности удара врагу удалось смять подразделения полка на левом фланге и расстроить его боевые порядки.
В самом начале боя несколько офицеров вышли из строя, и управление подразделениями со стороны командира полка и его штаба было потеряно. В тяжелых условиях обстановки подразделения полка под давлением превосходившего их противника отошли в район железнодорожной станции. Для восстановления положения в полк была срочно направлена группа офицеров во главе с заместителем командира дивизии по политчасти. К 18 часам 29-й полк вновь овладел ранее оставленным им участком.
10 декабря части, ведущие бои в городе, овладели тринадцатью кварталами. 11 декабря нашими войсками было занято еще двенадцать кварталов. К исходу этого дня в руках противника находилось не более полусотни кварталов в юго-восточной части города.