Таким образом, от командования фронта требовалось, чтобы оно главные силы бросило для проведения киевской наступательной операции. Исходя из опыта наступательных боев в период с 26 мая по 3 июня 1920 г. Реввоенсовет Юго-Западного фронта наметил тактику прорыва обороны противника. Командующим армиями было приказано отказаться от лобовых атак вражеских укреплений, тщательно готовить каждую наступательную операцию, на важнейших направлениях действовать ударными группами. Еще 31 мая 1920 г. РВС Юго-Западного фронта дал указание командованию 12-й армии прекратить фронтальные атаки Киева, оставить против киевского плацдарма противника только 58-ю стрелковую дивизию. Все остальные силы армии свести в ударную группу для форсирования реки Днепр и прорыва фронта севернее Киева.[100]
Для обеспечения действий войск 12-й армии при форсировании Днепра Реввоенсовет фронта выделил северный отряд Днепровской флотилии, командиром которого был М.Г. Степанов, комиссаром — И. Данилов.14-й армии было приказано собрать основные силы на своем правом фланге. 3 июня 1920 г. Сталин от имени РВС Юго-Западного фронта направил Буденному и Ворошилову специальную телеграмму, в которой указал на причины неудач частей 1-й Конной армии в районе Липовца и Погребищ в ходе боев с 30 мая по 2 июня. В телеграмме отмечалось, что эти бои показывают, что противник искусно сочетает маневренную войну с войной траншейной. В этих условиях Конной армии нельзя было обойтись без собственной пехоты, которая должна сковать противника с фронта, с тем чтобы кавалерийские части могли беспрепятственно совершать глубокие обходы укрепленных пунктов противника. Командованию 1-й Конной армии предписывалось отказаться от лобовых атак укрепленных пунктов кавалерийскими частями. Укрепленные места рекомендовалось обходить. В этот же день РВС Юго-Западного фронта своей директивой поставил 1-й Конной армии задачу прорвать фронта и разгромить киевскую группу войск противника. Было приказано выставить заслон в районе Липовец — Погребище, основными же силами прорвать фронт польских войск на линии Ново-Фастов — Пустоваров, чтобы стремительным ударом захватить район Фастова и, действуя по тылам, разбить киевскую группировку противника.[101]
Для выполнения операции 1-я Конная армия была сосредоточена на участке в 10 км северо-восточнее Ново-Фастова. Боевое построение 1-й Конной армии было многоэшелонным, что обеспечивало наращивание силы удара в ходе наступления. В первом эшелоне находилась 4-я кавалерийская дивизия, уступом за ее флангами — 14-я и 11-я кавдивизии и в третьем эшелоне — 6-я кавалерийская дивизия и особая кавбригада. В связи с тем что предстоявший рейд требовал быстроты передвижения частей, командование 1-й Конной армии 4 июня приказало разгрузить конные части от малоподвижных обозов и отправить их в тыл в район станции Поташ. Это движение обозов было воспринято польской разведкой как отвод в тыл всей 1-й Конной армии.
К вечеру 3 июня 1-я Конная армия заняла исходный рубеж для наступления. В эти дни стояла дождливая погода. Польское командование рассчитывало, что плохая погода помешает советским войскам начать военные действия. На рассвете 5 июня 1920 г. 1-я Конная армия перешла в наступление. Дождь и густой туман позволили советским конникам скрытно выйти на рубеж атаки и перейти в стремительное наступление. Когда же польские войска заметили советских бойцов, было уже поздно. Под ураганным огнем пулеметов и артиллерии красные конники, искусно сочетая бой в пешем и конном строю, преодолели проволочные заграждения противника и смяли его передовые части. Через два часа после начала атаки польский фронт был прорван в районе Сквира — Самгородок. В этих боях особенно отличились кавалеристы 14-й дивизии под командованием А.Я. Пархоменко.
Наступление советских войск было настолько стремительным, что к вечеру того же дня 1-я Конная армия прорвалась севернее и восточное Казатина, разрушив в ряде мест железную дорогу Фастов — Казатин — Липовец, и вышла в тыл 3-й польской армии. В 18 часов 7 июня 4-я кавалерийская дивизия овладела Житомиром, уничтожив польский гарнизон и освободив из плена 7 тыс. красноармейцев, которые сразу же встали в строй. На станции были захвачены два вагона военного снаряжения. В этот же день 11-я кавалерийская дивизия заняла Бердичев. Кроме того, 1-я Конная армия разбила в районе Белополья польскую конную группу под командованием генерала Савицкого, прикрывавшую левый фланг 6-й польской армии. К 8 июня 1-я Конная армия окончательно сломила сопротивление войск противника, сосредоточенных в районе Казатина и Бердичева. Глубина прорыва 1-й Конной армии в тыл польских войск составила 120–140 км. Польский фронт на Украине оказался расколотым на две части. Потеряв управление своими войсками, польский штаб во главе с Пилсудским, находившийся в Житомире, в спешке передислоцировался в Новоград-Волынский.