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 км. Польский фронт на Украине оказался расколотым на две части. Потеряв управление своими войсками, польский штаб во главе с Пилсудским, находившийся в Житомире, в спешке передислоцировался в Новоград-Волынский.
На Днепре советским войскам содействовала Днепровская военная флотилия, которая с захватом поляками Киева оказалась разъединенной: одни суда действовали севернее, другие южнее Киева. В связи с этим было решено разбить флотилию на две боевые группы: Североднепровскую и Южноднепровскую. Базой Южноднепровского отряда из 16 боевых и 14 вспомогательных судов был Екатеринослав. В соответствии с общим планом наступления войск Юго-Западного фронта Североднепровский отряд флотилии, отошедший на р. Сож, должен был участвовать в форсировании Днепра севернее Киева и поддержать огнем артиллерии наступление ударной группы 12-й армии. Для этого отряду предстояло совершить переход с реки Сож на Днепр. Задача была исключительно трудной: вход в Днепр противник прикрывал сильным артиллерийским и пулеметным огнем в районе местечка Лоева, где разрушенный мост через Днепр загородил фарватер реки. Корабли должны были идти через узкий проход под мостом у самого берега, ежеминутно рискуя сесть на мель или натолкнуться на ледорезы. Однако другого пути в Днепр не было.