Тухачевский вступил в командование Западным фронтом 29 апреля 1920 года[368]. Рано утром 14 мая, имея почти двукратный перевес в живой силе: 131 тыс. бойцов против 68 тыс., а также 3036 пулемётов против 1553, 706 орудий против 481, 71 самолёт против 20, части фронта перешли в наступление. При этом по приказу Тухачевского командующие армиями должны были использовать в наступлении все дивизии, не выделяя ничего для резерва. Не было должным образом организовано и взаимодействие войск. Так, части 15-й армии одновременно наступали в трёх расходящихся направлениях[369].
Неудивительно, что уже 30 мая дальнейшее продвижение войск Западного фронта было остановлено. За 17 дней наступления части 15-й армии продвинулись только на 110–130 км. Что касается 16-й армии, то захватив плацдарм глубиной 60 км на западном берегу Березины, в результате польского контрудара она к 26 мая была отброшена на исходные позиции[370].
Для развития успеха нужно было ввести в бой свежие силы. Однако благодаря «гениальной» стратегии Тухачевского ни в армиях, ни у командования фронтом резервов не было. 31 мая началось контрнаступление польских войск. К 8 июня части Западного фронта были фактически отброшены на исходные рубежи[371].
Тем временем готовился к наступлению и Юго-Западный фронт. 25 мая, совершив тысячекилометровый переход в конном строю и разгромив по дороге многие действовавшие в советском тылу повстанческие отряды, туда прибыла 1-я Конная армия[372]. Не менее важным было и подкрепление другого рода: 26 мая членом Реввоенсовета Юго-Западного фронта был назначен Сталин. Начальником тыла фронта стал сам Дзержинский[373].
Наступление началось 26 мая. К его началу войска Юго-Западного фронта более чем в полтора раза уступали по численности противнику: 46,4 тыс. против 78 тыс., но при этом, уступая в пехоте (22,4 тыс. штыков против 69,1 тыс.), пулемётах (1440 против 1897) и артиллерии (245 орудий против 412), красные имели решающее превосходство в кавалерии: 24 тыс. сабель против 8,9 тыс.[374]
Первый этап боёв не принёс особых успехов, однако командование фронта быстро сделало соответствующие выводы. 31 мая РВС дал указание командованию 12-й армии прекратить фронтальные атаки Киева. 3 июня Сталин направил телеграмму Будённому и Ворошилову, в которой предписывал отказаться от лобовых атак укреплённых пунктов кавалерийскими частями[375].
На рассвете 5 июня 1-я Конная армия вновь перешла в наступление. Через два часа польский фронт был прорван. Боевое построение 1-й Конной было многоэшелонным: 4-я кавдивизия в первом эшелоне, 11-я и 14-я – во втором, 6-я кавдивизия и особая кавбригада – в третьем. Это обеспечивало наращивание удара в ходе наступления и позволило будёновцам уже 7 июня овладеть Житомиром, уничтожив польский гарнизон и освободив из плена 7 тыс. красноармейцев, которые сразу же встали в строй. К 8 июня сопротивление противника было окончательно сломлено[376]. Польский фронт на Украине оказался расколотым на две части. 12 июня советские войска вступили в Киев[377].
Стремясь задержать наступление Юго-Западного фронта, поляки перебросили туда две дивизии из Белоруссии. Чтобы избежать удара во фланг, находившиеся перед Западным фронтом польские части начали 18 июня отход без боя[378].
Тем временем советское командование принимало меры по усилению войск Западного фронта, который только в июне получил 58 тыс. человек пополнения[379]. Когда 4 июля там тоже началось наступление, Тухачевский имел 145,3 тыс. бойцов против 75,3 тыс., 693 орудия против 464, и к тому же получил редкое для Красной Армии оружие – танки