Сергей Макаров родился 19 сентября 1952 года в поселке Николаевка, Еврейской автономной области. В 1974 году окончил Благовещенское высшее танковое командное училище имени Маршала Советского Союза К. А. Мерецкова. По окончанию училища служил командиром танкового взвода, роты в Дальневосточном военном округе, командиром роты, начальником штаба и командиром танкового батальона в Группе советских войск в Германии.
В 1987 году Макаров получил дополнительное образование в Военной академии бронетанковых войск имени Маршала Советского Союза Р. Я. Малиновского. После окончания академии переведен в Северо-Кавказский военный округ, где являлся начальником штаба, заместителем командира танкового полка, командиром учебного танкового полка, командиром 135-й отдельной мотострелковой бригады, заместителем командующего 58-й армией.
С 1991 по 1992 год, в период вооруженного переворота и самопровозглашения Чеченской Республики Ичкерии, подполковник Сергей Афанасьевич Макаров командовал танковым полком, дислоцировавшимся около Шали.
В 1998 году окончил Военную академию Генерального штаба Вооружённых Сил Российской Федерации. После назначен начальником штаба, 1-м заместителем командующего 58-й армией в Северо-Кавказском военном округе. Позже переведен в статус начальника управления, заместителя начальника оперативного штаба при Главном управлении МВД России по Северному Кавказу от Министерства обороны РФ, где прослужил в течение двух лет.
С 2000 по 2002 год Макаров являлся командующим 20-й гвардейской армией в Московском военном округе. С 2002 года в течение трех лет служил заместителем командующего войсками Северо-Кавказского военного округа, командующим объединенной группировкой войск по проведению контртеррористических операций на территории Северо-Кавказского региона.
В 2003 году Сергею Афанасьевичу присвоено воинское звание генерал-полковника.
В 2005 году назначен начальником штаба, 1-м заместителем командующего войсками Приволжско-Уральского военного округа, где служил в течение трех лет. С 1 марта по 26 мая 2008 года находился в должности начальника штаба, 1-го заместителя командующего войсками Северо-Кавказского военного округа. С 26 мая 2008 года по 11 января 2010 года повышен до звания командующего войсками Северо-Кавказского военного округа.
Сергей Макаров 13 января 2010 года уволен в запас. С 4 февраля 2013 года по сентябрь 2016 года занимал должность начальника Военной академии Генерального штаба ВС РФ.
За мужество, отвагу и самоотверженность, проявленные при исполнении воинского долга в Северо-Кавказском регионе, Сергей Афанасьевич награжден Орденом Святого Георгия IV степени. Имеет ряд других заслуженных наград: орден «За заслуги перед Отечеством» IV степени с изображением мечей; орден «За военные заслуги»; орден «За службу Родине в Вооружённых Силах СССР» III степени; медали СССР; медали РФ.