Родился в 1759 году, происходил из обер-офицерских детей Рязанской губернии. В службу поступил рядовым в 1777 году в Рязанский мушкетёрский полк.
Участвовал в русско-турецкой войне 1787—1791 годов. За отличие при штурме Очакова 6 декабря 1788 года был награждён серебряной медалью и произведён в сержанты, за участие в делах при взятии Аккермана и Бендер 2 декабря 1789 года получил чин прапорщика, за отличие при взятии Измаила произведён в подпоручики.
В 1794 году сражался в Польше против Костюшко, при штурме Праги был ранен пулей в левую руку и за отличие произведён в капитаны.
В англо-русской экспедиции 1799 года в Голландии Капустин сражался с французами при Бергене 8 сентября, был ранен и попал в плен. Из плена освобождён в мае 1800 года, и вернувшись в Россию был произведён в майорский чин.
В 1805 году Капустин принимал участие в десантных высадках в Померании и в походе в Ганноверское курфюршество. В кампании 1806—1807 годов в Восточной Пруссии Капустин находился в сражениях при Пултуске и Фридланде, под Прейсиш-Эйлау был ранен картечью в бедро, 23 апреля 1807 года был произведён в подполковники и 20 мая 1808 года получил золотую шпагу с надписью «За храбрость».
16 сентября 1807 года (по другим данным 30 августа 1808 года) назначен командиром 20-го егерского полка и с ним участвовал во множестве дел с французами во время Отечественной войны 1812 года и в Заграничных кампаниях 1813—1814 годов, за боевые отличия получил ордена св. Владимира 3-й и 4-й степеней и св. Анны 2-й степени с алмазными знаками, чин генерал-майора и аренду. В этих боях время он был снова дважды ранен: под Смоленском осколком гранаты в голову и под Калишем пулей в правую руку. 10 марта 1813 года (по другим данным 20 января того же года) произведён в полковники.
Также Капустин сражался под Кацбахом и Лейпцигом, где был контужен картечью в голову и был увезён на лечение в госпиталь в Галле. В 1814 году отличился в сражении под Ла-Ротьером, за что 30 августа 1814 года был произведён в генерал-майоры со старшинством от 22 января того же года. Вслед за тем Капустин сражался при Арси-сюр-Об и участвовал в последнем штурме Монмартрских высот.
11 января 1815 года назначен командиром 1-й бригады 11-й пехотной дивизии и в следующем году, в январе, уволен, за ранами, в отставку.
Среди прочих наград Капустин имел орден св. Георгия 4-й степени, пожалованный ему 26 ноября 1809 года за беспорочную выслугу 25 лет в офицерских чинах (№ 2112 по кавалерскому списку Григоровича—Степанова).
Год его смерти неизвестен.