Происходил из потомственных дворян Минской губернии. Закончил Михайловское артиллерийское училище и Николаевскую военную академию. Служил при Генеральном штабе.
В 1896—1898 годах — начальник Одесского пехотного юнкерского училища. Служил начальником штаба Варшавской крепости.
В 1900 году переведён на Дальний Восток командиром 2-й стрелковой бригады.
В 1904 году назначен комендантом крепости Порт-Артур, куда прибыл 4 марта.
После падения крепости представил доклад, послуживший основанием для возбуждения дела о сдаче крепости против генералов Стесселя, Фока и Рейса. Также проходил обвиняемым по данному делу, но решением Верховного военно-уголовного суда от 7 февраля 1908 года был оправдан.
За обвинение в трусости Фок вызвал Смирнова на дуэль, которая окончилась ранением последнего в живот.
В 1908 году вышел в отставку. Умер от воспаления лёгких в Панчево (недалеко от Белграда). Похоронен на местном кладбище.