З 1922 року — командир взводу, помічник командира роти, помічник начальника і начальник полкової школи, командир батальйону, інспектор навчальних закладів Московського військового округу. З 1936 року — начальник штабу механізованої бригади, 5-го механізованого корпусу, заступник командувача, начальник штабу, а з липня 1939 року — командувач 1-ю Окремою Червонопрапорною Далекосхідною армією. З січня 1941 року — командувач військами Ленінградського військового округу.
З листопада 1941 року командував 61-ю армією, з липня 1942 року командував 40-ю армією, з жовтня 1942 — заступник командувач військами Сталінградського, Південно-Західного фронтів. З грудня 1942 року командував 5-ю ударною армією. У квітні — травні 1943 — командувач військами Резервного фронту і Степового військового округу. У червні — жовтні 1943 — командувач військами Брянського фронту. У жовтні 1943 — квітні 1944 — командувач військами Прибалтійського, 2-го Прибалтійського фронтів. Знятий з посади командувача через провал наступу у Прибалтиці та зловживання спиртними напоями, понижений у званні до генерал-полковника. У 1944—1945 — начальник штабу військ Ленінградського, потім 2-го Прибалтійського фронтів.
У 1945 — 1946 — командувач військами Львівського військового округу. У 1946 — 1954 — командувач військами Таврійського військового округу.
З січня 1955 року — заступник начальника, начальник Головного управління бойової підготовки Сухопутних військ. З серпня 1956 року — начальник Головного штабу і 1-й заступник головнокомандувача Сухопутних військ. З 1962 року — військовий інспектор-радник Групи генеральних інспекторів Міністерства оборони СРСР.
Загинув від нещасного випадку (отруївся чадним газом).