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-й армии. Для этого отряду предстояло совершить переход с реки Сож на Днепр. Задача была исключительно трудной: вход в Днепр противник прикрывал сильным артиллерийским и пулеметным огнем в районе местечка Лоева, где разрушенный мост через Днепр загородил фарватер реки. Корабли должны были идти через узкий проход под мостом у самого берега, ежеминутно рискуя сесть на мель или натолкнуться на ледорезы. Однако другого пути в Днепр не было.
В ночь на 2 июня 1920 г. отряд из девяти судов, вооруженных артиллерией и пулеметами, двинулся к Днепру. Чтобы не создавать шума от колес, корабли шли малым ходом. Проходя под мостом, они были обстреляны обнаружившим их противником. Советские корабли повели ответный огонь. В результате весь отряд, за исключением одной канонерской лодки, преодолел лоевскую преграду, вышел в район Печки и принял участие в форсировании Днепра вместе с частями 12-й армии. В этих боях особенно отличились экипажи канонерских лодок "Малый", "Мстительный", "Геройский" и тральщика "Трал". По окончании переправы частей 12-й армии Северный отряд Днепровской флотилии перебросил по реке стрелковую бригаду на Сваромье в Вышгород, а 9 июня принял участие в боях за переправу через р. Ирпень. Все это позволило ударной группе 12-й армии в составе 7-й стрелковой дивизии и Башкирской кавалерийской бригады после ожесточенных боев 3 июня форсировать Днепр. Отразив контратаки противника, стремившегося сбросить в Днепр переправившиеся советские части, к 8 июня ударная группа 12-й армии вышла в район Дымера.
Не менее успешно действовала Южная группа Днепровской флотилии, которая вместе с приданным ей десантом (около 1 тыс. человек с 10 пулеметами и 2 пушками) после упорных боев 7 июня овладела городом Ржищев, а 10 июня выбила части противника из сильно укрепленного пункта Триполье. Это способствовало успешному наступлению Фастовской группы. В боях в районе Триполья, носивших особенно ожесточенный характер, образцы мужества и героизма проявили бойцы и командиры канонерских лодок "Губительный", "Могучий" и "Грозящий". После прорыва вражеских укреплений в районе Триполья Южному отряду Днепровской флотилии открывался путь на Киев. С востока на Киев наступала 58-я стрелковая дивизия 12-й армии.
Выход частей 1-й Конной армии в глубокий тыл 3-й польской армии и успешное продвижение ударной группы 12-й армии создали благоприятные условия для полного окружения польских войск в районе Киева. Реввоенсовет Юго-Западного фронта 8 июня потребовал от 12-й армии занять район станций Бородянка и Ирша, с тем чтобы перерезать последнюю магистраль Киев Коростень, по которой противник еще имел возможность отвести свои войска из района Киева. Одновременно Фастовская группа войск должна была пехотными частями не позднее 10 июня овладеть районом Фастов - Корнин, а кавалерийской бригадой под командованием Г.И. Котовского перерезать шоссе Киев - Житомир. 14-я армия должна была, подтянув в кратчайший срок 8-ю кавалерийскую дивизию, продолжать наступление в направлении Винница Жмеринка102 . Успешно развивалось и наступление Фастовской группы. Уже 8 июня в результате стремительной атаки бригада Котовского освободила город Сквиру. Затем части Фастовской группы заняли города Белая Церковь и Фастов, отрезав тем самым пути отхода противника из района Киева на юг и юго-запад.