На военную службу был записан 15 марта 1773 года — кондуктором в Инженерный корпус, пребывание в котором завершил 12 сентября 1778 года, после чего начал службу в качестве адъютанта генерал-фельдцейхмейстера. В 1783 году получил звание подпоручика и был определён в Канонирский полк. Принимал участие в русско-шведской войне 1788—1790 годов, после чего был переведён в Муромский пехотный полк; командуя в нём батальоном, подавлял польское восстание 1794 года. 4 октября 1794 года был повышен в звании до полковника и переведён в Белозерский пехотный полк. 9 ноября был удостоен ордена Св. Георгия 4-го класса 4 октября 1797 года получил звание генерал-майора с одновременным назначением на должность шефа Севского мушкетёрского полка. В апреле 1799 года участвовал в Швейцарском походе Суворова в качестве командира полка, входившего в состав корпуса А. М. Римского-Корсакова. Успешно — потеряв при этом всего 120 человек, — вырвался из неприятельского окружения 25—26 сентября под Цюрихом, пробившись к Шаффхаузену. 13 сентября 1799 года получил звание генерал-лейтенанта. Летом 1806 года возглавил 5-ю дивизию 2-й армии генерала Буксгевдена, во главе которой принимал участие под началом Каменского в кампании 1806—1807 годов в Польше, в том числе в битве при Пултуске 26 декабря.