Родился 6 декабря 1983 года в Уфе. Отец Леонид Макаров долгие годы играл в хоккей, работал тренером. Воспитанник уфимского хоккея. Начал карьеру в 2000 году в составе «Салавата Юлаева». В 2002 году стал игроком магнитогорского «Металлурга», по большей части выступая за фарм-клуб. В середине сезона 2004/05 вернулся в Уфу. В «Салавате» выступал до 2007 года, проведя за это время 74 матча, в которых набрал 40 (22+18) очков.
Перед началом сезона 2007/08 Макаров, несмотря на слухи, связывавшие его с московским «Спартаком»[1], подписал контракт с нижнекамским «Нефтехимиком». За 4 сезона, проведённых в качестве одного из лидеров клуба,[источник не указан 819 дней] Макаров принял участие в 207 матчах, набрав 111 (45+66) очков. 3 мая 2011 года, сразу после того, как болельщики нижнекамского клуба признали его лучшим игроком прошедшего сезона, Макаров заключил однолетнее соглашение с нижегородским «Торпедо»[2]. Позже продлил контракт с клубом.
5 мая 2016 года подписал двухлетний контракт с «Нефтехимиком»[4]. Позже расторг контракт и вернулся в «Салават Юлаев», подписав контракт до конца сезона. 1 мая 2017 года заключил контракт с «Югрой» на год, 18 октября 2017 года клуб расторг контракт.