Сергей Макаров является выпускником Центра образования «Олимп», первым тренером спортсмена был Виталий Юрьевич Енюшин.
В 1996 году начал выступления в столичном клубе МГФСО, с которым прошёл путь от первой лиги до Суперлиги чемпионата России. В сезоне-2001/02 в год дебюта в Суперлиге созданной на базе МГФСО команды «Динамо» стал бронзовым призёром чемпионата страны.
Вскоре после этого попал в автокатастрофу, едва не поставившую крест на его спортивной карьере. Пропустив почти два года, Сергей нашёл в себе силы вернуться в волейбол — в 2004 году он стал игроком «Искры», из которой впервые был вызван в сборную России.
Первый матч за сборную Сергей Макаров провёл 4 июня 2005 года в Таллине — это была игра Евролиги против сборной Эстонии, завершившаяся победой россиян со счётом 3:2. В 2005 году Макаров стал чемпионом Евролиги и вошёл в заявку сборной России на чемпионат Европы в Риме и Белграде. Игра связующего российской команды на европейском первенстве была удостоена высоких оценок; в пятой партии полуфинального матча на его подачах сборной России удалось выиграть матч у Испании, проигрывая со счётом 9:13, а в финале он вышел в стартовом составе сборной, уступившей в равной борьбе титул чемпионов Европы команде Италии.
Осенью того же года Макаров подписал новый контракт с московским «Динамо», стал капитаном столичного клуба и весной 2006 года выиграл звание чемпиона России. В 2006 году играл за сборную России в матчах интерконтинентального раунда Мировой лиги и на чемпионате мира в Японии.
В 2007 году Сергей Макаров перешёл в новосибирский «Локомотив», где провёл два сезона, с 2009 года снова является игроком подмосковной «Искры». В 2010 году после долгого перерыва вернулся в состав национальной сборной, с которой он стал серебряным призёром Мировой лиги. Стабильная игра Сергея позволила ему войти в заявку сборной на чемпионат мира, причём перед стартом этого турнира он был назначен новым капитаном российской команды.