В районе Житомира полякам удалось рассечь на части и окружить 58-ю стрелковую дивизию 12-й армии, но части дивизии смогли выйти из окружения, обходя занятый поляками Казатин с севера. Соединившись с другими подразделениями 12-й армии, дивизия сдерживала поляков на реках Тетерев, Здвиж, Ирпень и под Киевом. К вечеру 27 апреля поляки заняли Бердичев, а 28 апреля — Радомысль. На фронте 2-й армии 15-я пехотная дивизия отбросила части 1-й галицийской бригады и 44-й стрелковой дивизии на юго-восток. 27 апреля одна из колонн 44-й дивизии между Казатином и Винницей натолкнулась на 13-ю пехотную дивизию поляков и была ею разгромлена.
На фронте 14-й советской армии весь день 25 апреля 6-я польская армия наблюдала за борьбой большевистских и восставших галицийских частей. Когда же 26 апреля поляки и здесь перешли в наступление, между ними и большевиками оказались галицийские бригады, сражавшиеся теперь на два фронта. В этой обстановке галичане стали сдаваться как полякам, так и красным. 26 апреля произошли бои за Бар, оборонявшийся частями 45-й стрелковой дивизии. 28 апреля поляки заняли Жмеринку, а 29 апреля — Винницу.
Польское командование решило двинуть группу Рыдз-Смиглы на фронт Пясковка — Ставище — Высокое — Шарлеювка и занять конницей Фастов. 2-я армия оставалась на фронте Галендры-Казатин. Фактически поляки не стали развивать свой успех для полного разгрома войск 12-й армии. 29 апреля поляки выбили из Ставище отряды 58-й стрелковой дивизии. Под вечер 30 апреля польская кавалерия вошла в Фастов. В этот день Пилсудский приказал своим войскам занять фронт Яруга — Немиров — Липовец — Сквира — Жидовцы — Брусилов — Ставище — Песковка, а кавдивизия Ромера должна была занять Белую Церковь. На эту линию поляки вышли 2–3 мая.
В условиях прорыва фронта поляками командование Юго-Западного фронта 27 апреля определило главную задачу — удержать Киевский район и путем обороны на широком фронте выиграть время до подхода 1-й Конной армии с Северного Кавказа, измотать противника, заставить его рассредоточить свои силы на огромном пространстве. 29 апреля — 3 мая польское наступление замедлилось, что обусловливалось необходимостью изменения группировки войск. Было принято решение добить советскую 12-ю армию на подступах к Киеву и занять город.
В ночь на 6 мая польские войска перешли в наступление на соединения 12-й армии, засевшие в Киеве. Не имея сил для удержания города, 12-я армия в тот же день оставила Киев и отошла на восточный берег Днепра. 8–9 мая польские войска захватили плацдарм на левом берегу Днепра в районе Киева. 7–9 мая поляки активизировались на левом фланге Западного фронта и заняли Речицу, оттеснив большевиков за Березину и Днепр.
Отсутствие у поляков резервов для развития дальнейшего наступления привело к постепенной стабилизации фронта, который сложился к 15–16 мая. В оккупированных районах Украины поляки вели себя крайне жестоко. Конечно, в случаях, когда они истребляли большевиков, их действия можно вполне оправдать. Однако бесчинства коснулись и простого населения. Грабежи, сожжение деревень, расстрелы были призваны продемонстрировать, что новые хозяева шутить не намерены. Главными жертвами подчиненных маршала Пилсудского были, по традиции, евреи. В местечке Тетиево во время еврейского погрома было вырезано 4 тысячи человек. Правительства РСФСР и Советской Украины 29 мая 1920 года обратились к правительствам Англии, Франции, США и Италии со специальной нотой, в которой выражали протест против действий поляков.
Начало широкого польского наступления на Украине и овладение Киевом привели к существенным изменениям в стратегии большевиков. Естественно, что польский фронт стал для Москвы основным, а война с Польшей — центральной задачей. Большевики были вынуждены принять ряд пропагандистских мер, одной из которых стала публикация 7 мая «Воззвания ко всем бывшим офицерам, где бы они ни находились», подписанного генералом А. Брусиловым, который решил примкнуть к красным. В агитке говорилось: «В этот критический, исторический момент нашей народной жизни мы, ваши старшие боевые товарищи, обращаемся к вашим чувствам любви и преданности к Родине и взываем к вам с настоятельной просьбой забыть все обиды, кто бы и где бы их вам ни нанес, и добровольно идти с полным самоотвержением и охотой в Красную Армию на фронт или в тыл, куда бы правительство Советской Рабоче-Крестьянской России вас ни назначило, и служить там не за страх, а за совесть, дабы своей честной службой, не жалея жизни, отстоять во что бы то ни стало дорогую нам Россию и не допустить ее расхищения, ибо в последнем случае она безвозвратно может пропасть, и тогда наши потомки будут нас справедливо проклинать и правильно обвинять за то, что мы из-за эгоистических чувств классовой борьбы не использовали своих боевых знаний и опыта, забыли свой родной русский народ и загубили свою Матушку-Россию».
Вся эта гнусная демагогия плохо прикрывала истинные цели большевиков. Так, ЦК РКП(б) указал редакциям газет, что «в статьях о Польше и польской войне необходимо строжайшем образом исключить возможные уклоны в сторону национализма и шовинизма».
В конце апреля 1920 года в Реввоенсовете республики состоялось совещание, на котором обсуждался стратегический план военных действий Красной Армии. Предусматривалось, что главный удар нанесут войска Западного фронта в Белоруссии. Юго-Западный фронт должен был наносить вспомогательный удар в общем направлении Ровно-Брест. В результате принятых мер по усилению Западного фронта туда с 10 марта по 1 июня 1920 года прибыло более 40 тысяч человек пополнения.
29 апреля в командование Западным фронтом вступил печально известный М. Тухачевский. Новый командующий внес изменения в план операции. Главный удар должна была теперь наносить 15-я армия в общем направлении на Вильно, вспомогательный — 16-я армия на минском направлении. Правофланговые части 15-й армии, выделенные в особую Северную группу под командованием Е.Н. Сергеева, должны были форсировать реку Двину в районе Дисна-Полоцк и в последующем нанести удар в тыл противника, в направлении станции Загатье.
Потребовалось провести значительную перегруппировку сил и средств из центра фронта на его правый фланг, что заняло довольно много времени. Затруднения с транспортом, а также отсутствие должного руководства со стороны штаба фронта привели к тому, что перегруппировка сил к назначенному сроку операции полностью не была завершена. К тому же план операции был рассчитан на ведение безостановочного наступления без каких-либо резервов. Накануне наступления командование фронтом издало приказ, в котором требовало от командующих армиями использовать в наступлении все дивизии, не выделяя ничего для армейского резерва. Короткий срок, отведенный на подготовку наступления Западного фронта, не позволил полностью сосредоточить все людские силы и материально-технические средства, предназначенные для этой операции. Таким образом, неадекватные указания Тухачевского неизбежно должны были сказаться на ходе боевых действий.
К началу наступления войска Западного фронта располагались следующим образом. Северная группа войск занимала рубеж: Опочка — Дисна — Янополье. Южнее ее располагалась 15-я армия. Ее фронт проходил от Янополья до района 15 км юго-восточнее города Лепель. Далее по восточному берегу Березины действовали части 16-й армии. Ее левый фланг находился в районе города Речицы.
Рано утром 14 мая 1920 года 15-я армия и части Северной группы перешли в наступление. 16-я армия не смогла в этот день начать наступление, поскольку не завершила перегруппировку частей. Прикрываясь естественным препятствием, образуемым Березиной и ее притоками с их болотистой долиной, 8-я и 1 — я польские пехотные дивизии оказали упорное сопротивление, особенно в районе Полоцка и Лепеля. Но после упорных боев польская оборона была прорвана. Войска 15-й армии уже в первый день наступления продвинулись вперед на 6-20 км и заняли Лепель. Потерпев поражение, польские части начали отход на Свенцяны и Молодечно. К исходу 16 мая основные силы 15-й армии, наступавшие в северо-западном направлении, вышли на рубеж Дисна — Зябки. Командование Западного фронта 17 мая изменило направление удара Северной группы с юго-западного на северо-западное, а 15-й армии — с северо-западного на юго-западное. В результате этого войска 15-й армии и Северной группы стали растекаться по фронту в трех направлениях, удаленных друг от друга на 50–70 км. Кроме того, за 5 дней фронт наступления 15-й армии расширился с 60 до 110 км.
Поляки воспользовались замедлением темпа наступления большевиков и организовали планомерный отход своих частей, а также подтянули резервы. У большевиков резервов не было, кроме того, из-за отсутствия связи между командованием и тыловыми учреждениями фронта и армий, а также вследствие недостатка обозов нарушилось регулярное снабжение боеприпасами. Тем временем польское командование спешно подтягивало резервы, усиливая свои войска перед Западным фронтом. Подход свежих сил позволил уже к 30 мая остановить дальнейшее продвижение войск Западного фронта. За 17 дней наступления части 15-й армии продвинулись вперед только на 110–130 км.
Для восстановления утраченных позиций польское командование создало ударные группы войск. Контрудар начался 31 мая. Армии Западного фронта, оказавшись без резервов и боеприпасов, утомленные и к тому же плохо управляемые командованием и штабом фронта, начали отступление. Только части 15-й армии потеряли убитыми, ранеными и пропавшими без вести 12 132 человека. К 8 июня 1920 года они были отброшены на 60—100 км до линии Узмены — Березино — река Березина, где фронт стабилизировался. Таким образом, за время с 1 по 8 июня поляки оттеснили большевиков почти на их исходные рубежи.
Еще 26 апреля Политбюро решило перебросить на Юго-Западный фронт часть войск с Кавказского фронта и ускорить перевозку запасных частей. В мае 1920 года Юго-Западный фронт получил более 41 тысячи человек пополнения. Одновременно на Юго-Западный фронт перебрасывалась с Северного Кавказа 1-я Конная армия. 29 мая началась перевозка на Украину 25-й Чапаевской дивизии. В апреле 1920 года на Юго-Западный фронт прибыла с Урала Башкирская кавалерийская бригада и другие части.