Po ataku Niemiec na ZSRR jako dowódca 28 Korpusu Piechoty 4 Armii Frontu Zachodniego brał udział w walkach w rejonie Brześcia, Kobrynia i Bobrujska, z dużymi stratami wyprowadzając resztki korpusu z okrążenia, a 15 lipca 1941 w walkach pod Propojskiem, gdzie został ciężko ranny.

Po wyleczeniu we wrześniu 1941 został zastępcą dowódcy 50 Armii Frontu Briańskiego/Zachodniego, od stycznia 1942 do kwietnia 1944 dowodził wojskami 10 Armii Frontu Zachodniego, brał udział w bitwie pod Moskwą, operacji rżewsko-wiaziemskiej, operacji spas-diemienskiej i smoleńskiej. W kwietniu-maju 1944 był zastępcą dowódcy 1 Frontu Białoruskiego, a od maja 1944 do końca wojny dowódcą 70 Armii 1 Frontu Białoruskiego/2 Frontu Białoruskiego, na czele której brał udział w operacji białoruskiej (w tym lubelsko-brzeskiej), wschodniopruskiej, mławsko-elbląskiej, wschodniopomorskiej, i berlińskiej, wyróżniając się przy wyzwalaniu Smoleńska, Brześcia, Przasnysza, Modlina i wielu innych miast i forsowaniu Odry. 18 stycznia 1945 dowodzona przez niego armia zajęła twierdzę Modlin, a 26 stycznia 1945 sforsowała Wisłę w rejonie Bydgoszczy.