Михаил Смирнов родился 18 июня 1880 года. Учился в Морском кадетском корпусе, окончил его в 1899 году 7-м из 66 по успеваемости.
В 1900 году Михаил Иванович становится младшим флаг-офицером штаба начальника Эскадры Тихого океана.
В 1906 году становится офицером Главного морского штаба, служит там до 1909 года включительно. В этот период тесно взаимодействовал с А. В. Колчаком.
В 1910—1911 гг. Михаил Иванович служил старшим офицером на линкоре «Слава», затем в 1911—1912 гг. старшим офицером на «Пантелеймоне». В 1914 году окончил курс Николаевской Морской академии и вступил в командование эсминцем «Выносливый». Осенью 1914 вместе с М. А. Кедровым направлен на британский флот, для связи между союзниками, в начале 1915 находился на Средиземном море. В 1915—1916 годах командовал эсминцем «Казанец».
В 1916 году произведён в капитаны 1-го ранга, служил флаг-капитаном адмирала Колчака А.В.. С 8 апреля по июль 1917 года — начальник штаба Черноморским флотом Российской империи . Покинул пост вместе с уходом Колчака.
В 1917—1918 гг. — начальник морского отдела Русского заготовительного комитета в США, с прикомандированием к русскому посольству в Вашингтоне. С 20 ноября 1918 — управляющий морским министерством в правительстве Колчака. Тогда же произведён Колчаком в чин контр-адмирала. Командовал речной флотилией на Каме.
В эмиграции жил в Англии. Умер в Лондоне в 1937 году. В 1930 г. издал в Париже небольшую книгу «Адмирал Александр Васильевич Колчак (Краткий биографический очерк)» (переиздана в Москве в 1992), с целью помочь сбору средств для Р. А. Колчака, чтобы сын адмирала смог закончить высшее образование.