В 1896 году Макарова назначили старшим флагманом 1‑й флотской дивизии Балтийского моря, 20 августа произвели в вице‑адмиралы. Моряк командовал в море практической эскадрой.
Весной 1897 года С.О. Макаров предложил построить большие ледоколы, чтобы поддерживать зимой навигацию в Финском заливе и Балтийском море, а летом — обеспечивать морские перевозки вдоль берегов Северного Ледовитого океана. Ему удалось добиться от правительства необходимых ассигнований, на которые в Англии был построен первый линейный ледокол «Ермак». Он сошел на воду 17 октября 1898 года. 19 февраля 1899 года, после тщательных испытаний, судно приняли от завода. Вскоре «Ермак» направился в Россию. Уже весной 1899 года корабль показал свои возможности, пробившись сквозь льды в Кронштадтскую гавань. Через несколько дней «Ермак» освободил из ледового плена 11 торговых судов недалеко от Ревеля (Таллина), взломав ледяное поле вокруг них. 1 апреля ледокол за полчаса разбил лед на Неве. В результате навигация началась значительно ранее, чем обычно (первый пароход прибыл в Петербургский порт 17 апреля).
Летом вице‑адмирал Макаров предпринял первое плавание в полярные воды. Однако оказалось, что прочность носовой оконечности судна недостаточна, чтобы крушить вековые льды. Противники идеи арктического ледокола вынесли решение, что «Ермак» по конструкции непригоден для борьбы с полярными льдами. После возвращения С.О. Макаров написал книгу «„Ермак“ во льдах», доказывая, что после доработок конструкции ледокол способен работать в Арктике. Тем временем корабль в 1900 году смог освободить из ледового плена суда на Балтике, помогал снять выскочивший на камни Гогланда броненосец «Генерал‑адмирал Апраксин». Когда по первой радиолинии Гогланд — Котка поступила телеграмма о том, что в море на льдине унесло рыбаков, моряки «Ермака» спасли терпящих бедствие. К весне 1901 года «Ермак» переоборудовали по проекту Макарова. Ему удалось добиться разрешения продолжить полярные исследования. Но экспедиция столкнулась у берегов Новой Земли с такими льдами, что вынуждена была вернуться. Правительство России приняло решение прекратить полярные походы ледокола, и его служба ограничилась проводкой судов на Балтийском море. Лишь в 30‑е годы «Ермак» вернулся в Заполярье и долго служил флагманом ледокольного флота, прокладывая маршруты Главсевморпути до 1964 года.
6 декабря 1899 года Макарова назначили главным командиром Кронштадтского порта и военным губернатором Кронштадта; эту должность он занимал до отъезда на Дальний Восток.
В 1897 году из печати вышел основной труд С.О. Макарова — «Рассуждения по вопросам морской тактики». В 1903 году были опубликованы работы «Броненосцы или безбронные суда» и «Без парусов», в которых флагман высказал свои предложения (местами спорные) по вопросам кораблестроения и тактики броненосного флота.
Еще 22 февраля 1900 года Макаров подал записку управляющему морским министерством о слабости обороны Порт‑Артура с моря и суши. Неоднократно моряк напоминал об опасности войны с Японией. За несколько дней до нападения японских миноносцев вице‑адмирал вновь писал генерал‑адмиралу и управляющему морским министерством об опасности.
Когда началась русско‑японская война 1904—1905 годов, вице‑адмирала С.О. Макарова направили командующим 1‑й Тихоокеанской эскадрой. Сразу же после прибытия в Порт‑Артур он активизировал действия эскадры и ремонт поврежденных японскими торпедами кораблей. Корабли эскадры стали выводить из гавани за один прилив. Миноносцы и крейсера не раз выходили в море. Деятельность вице‑адмирала подняла дух моряков и создала трудности для японского командования. Сложно сказать, как бы завершилась русско‑японская война, если бы С.О. Макаров не погиб 30 марта 1904 года, когда выводил эскадру в море: флагманский броненосец «Петропавловск» подорвался под Порт‑Артуром на мине и быстро затонул почти со всем экипажем.
Именем С.О. Макарова не раз называли корабли. 24 июля 1913 года вице‑адмиралу открыли построенный на добровольные пожертвования памятник в Кронштадте. На постаменте высечен девиз флотоводца: «Помни войну».