В 1893 окончил Нижегородский кадетский корпус, в 1896 — Павловское военное училище. Выпущен в лейб-гвардии Литовский полк подпоручиком (старшинство с 12 августа 1896). Поручик с 12 августа 1900. В 1902 окончил Николаевскую академию Генерального штаба по первому разряду; лагерный сбор отбывал в Варшавском военном округе. Цензовое командование ротой — с 20 октября 1902 по 17 февраля 1904 в 122-м пехотном Тамбовском полку.
В феврале-марте 1904 — обер-офицер для делопроизводства и поручений в управлении военных сообщений Маньчжурской армии. С 30 марта 1904 — обер-офицер для особых поручений при штабе Восточного отряда на Дальнем Востоке. С 21 апреля состоял в распоряжении командующего Маньчжурской армии.
С 21 декабря 1904 исполнял должность штаб-офицера для поручений при начальнике военных сообщений при Главнокомандующем на Дальнем Востоке, с 17 августа 1905 года — должность заведующего передвижениями войск головного участка Китайско-Восточной железной дороги. 2 апреля 1906 произведён в подполковники. С 3 марта 1906 — заведующий передвижением войск по железным дорогам и водным путям Китайско-Восточного района. С 28 октября 1907 состоял в распоряжении начальника Заамурской железнодорожной бригады.
С мая по сентябрь 1908 отбывал цензовое командование батальоном в 1-м Восточно-Сибирском стрелковом полку. С 18 сентября 1911 — заведующий передвижением войск Харьковского района; 6 декабря 1911 произведён в полковники. С 20 мая по 18 сентября 1912 был прикомандирован к Офицерской артиллерийской школе; с 2 ноября 1911 — начальник отделения военных сообщений ГУГШ.
С 25 июля 1914 — штаб-офицер для делопроизводства и поручений управления начальника военных сообщений при Верховном главнокомандующем. С 1 мая 1915 — командир 12-го пехотного Великолуцкого полка. В начале 1916 произведён в генерал-майоры (старшинство с 6 сентября 1915). С 2 июня 1916 — генерал-квартирмейстер штаба Юго-Западного фронта, с 7 августа 1917 — генерал-квартирмейстер штаба Западного фронта. С 10 сентября 1917 — начальник военных сообщений театра военных действий.
В 1918 вступил в РККА. С марта 1918 — начальник ВОСО в Высшем военном совете Республики. С июля 1918 — начальник штаба Высшего военного совета; после увольнения по болезни председателя совета М. Д. Бонч-Бруевича временно исполнял должность председателя. С сентября 1918 — начальник Полевого штаба Реввоенсовета Республики, с октября 1918 — начальник Всероглавштаба. Участвовал в планировании операций Восточного, Южного, Западного и Юго-Восточного фронтов. Занимался организацией всеобщего военного обучения и допризывной подготовкой трудящихся. Участвовал в расширении сети советских военно-учебных заведений, создании формы обмундирования РККА. С 17 июня 1920 — член Особого совещания при Главкоме и председатель Военно-законодательного совета при Реввоенсовете Республики. С 15 июля 1919 по 7 августа 1920 — в списках Штаба РККА; с 1922 — в распоряжении Главкома Вооружённых Сил Республики, затем — в Центральном управлении военных сообщений.
В 1925 уволен в отставку (в резерв РККА) и откомандирован для работы в народном хозяйстве. Был управляющим делами ряда хозяйственных объединений (Главзолото, Главцветметзолото и др.), заведующим технической библиотекой «Гипроцветметобработки». Проживал в Москве (Воробьевское ш., д. 47а, кв. 1).
28 июля 1938 был арестован; 2 марта 1939 Военной коллегией Верховного суда СССР по обвинению в участии в контрреволюционной террористической организации приговорён к расстрелу. Расстрелян 3 марта 1939, захоронен на Коммунарке.