Происходил из дворян Чухломского уезда Костромской губернии, родился в 1768 году. В военную службу записан в 1780 году. 1 января 1783 года явился в строй и был зачислен подпрапорщиком в лейб-гвардии Преображенский полк.
1 января 1787 года произведён в поручики с переводом в Кавказский пехотный полк и по прибытии на Кавказ сразу же принял участие в в боях с турками и горцами на Кубани, отличился в 1790 году при взятии крепостей Анапа и Суджук-Кале.
12 марта 1792 года Макаров был переведён в Корпус морской артиллерии «цехмейстером капитанского чина» и в 1794 году, находясь в отряде гребных судов капитана 2-го ранга Д. Н. Сенявина, крейсировал в Балтийском море и участвовал «в перехвате мятежных шаек и транспортов с оружием у берегов Курляндии и Самогитии и взятии десантом Полангена с мятежным гарнизоном».
В октябре 1798 году Макаров в чине майора находился в эскадре своего дяди вице-адмирала М. К. Макарова и на линейном корабле «Исидор» совершил плавание к берегам Голландии, где участвовал в кампании 1799 года против французов, при штурме батарей на мысе Гельдер был ранен картечью в правый бок и за отличие награждён орденом св. Иоанна Иерусалимского.
10 августа 1805 года Макаров получил чин подполковника и был назначен адъютантом к генералу от кавалерии Михельсону. В этой должности он в 1806—1807 годах сражался с турками на Дунае. Отличился при осаде Измаила, за что 13 сентября 1807 года был произведён в полковники с зачислением в лейб-гвардии Егерский полк, а 25 ноября того же года получил золотую шпагу с надписью «За храбрость».
26 ноября 1810 года за беспорочную выслугу 25 лет в офицерских чинах награждён орденом св. Георгия 4-й степени (№ 2209 по кавалерскому списку Григоровича—Степанова).
С началом в 1812 году Отечественной войны Макаров находился в 1-й Западной армии и принимал участие во многих сражениях с французами. Так он отличился в Смоленском сражении, при Колоцком монастыре был ранен в правую руку, но остался в строю и сражался в Бородинском бою, за отличие в этих сражениях получил орден св. Владимира 3-й степени. Затем он участвовал в делах с французами при Тарутине, Малоярославце и Вязьме. За отличие под Красным Макаров в 1813 году получил золотую шпагу с надписью «За храбрость» и алмазными украшениями.
В Заграничных кампаниях 1813—1814 годов Макаров был в сражениях под Люценом и Бауценом, причём в последнем деле получил рану в грудь.
18 июля 1813 года Макаров был произведён в генерал-майоры (за отличие в сражении под Красным) и 12 ноября того же года назначен шефом лейб-гвардии Павловского полка. В этом качестве он участвовал в сражениях под Пирной, Кульмом, Теплицем и Лейпцигом. 29 октября 1813 года он был удостоен ордена св. Георгия 3-й степени (№ 342 по кавалерским спискам)
Кроме того, он прусского короля он получил особый знак Железного креста.
Отличившись при штурме Монмартрских высот, Макаров был награждён орденом св. Анны 1-й степени. После бегства Наполеона с острова Эльбы в 1815 году Макаров вновь был в походе походе во Францию, но участия в военных действиях не принимал.
Скончался 7 декабря 1815 года в Санкт-Петербурге и по воле матери похоронен в Чухломе. Из списков исключён умершим 17 апреля 1816 года.