Dzimis Mikolajivā flotes praporščika ģimenē. 1858. gadā ģimene pārcēlās uz Nikolajevskas pie Amūras, kur Stepans Makarovs tā paša gada septembrī iestājās jūrskolā. Mācību laikā jūrskolā, ko absolvēja 1865. gadā, devās kuģojumā uz Ziemeļamerikas krastiem. No 1867. līdz 1876. gadam dienēja Baltijas flotē, vēlāk pārcelts uz Melnās jūras floti.
Piedalījās Krievu—turku karā (1877—1878). 1878. gada 16. janvārī Batumi reidā piedalījās torpēduzbrukumā turku kuģim, to nogremdējot. Tā bija pirmā reize vēsturē, kad militāri veiksmīgi tika izmantotas torpēdas. No 1879. līdz 1881. gadam piedalījās Krievijas militārās operācijās Vidusāzijā.
No 1886. līdz 1889. gadam kā korvetes "Vitjaz" komadieris veica pasaules apceļošanu. Sākoties Krievijas—Japānas karam, 1904. gada 9. februārī (vecais stils) tika iecelts par Klusā okeāna flotes komandieri un 24. februārī (vecais stils) ieradās Portartūrā. 13. aprīlī gāja bojā, kad flagmankuģis "Petropavlovsk" uzskrēja uz japāņu izliktas mīnas. Kopā ar Makarova komandēto kuģi bojā aizgāja krievu mākslinieks Vasilijs Vereščagins.