Родился в 1832 г.; воспитывался во 2-м кадетском корпусе, из которого 8 августа 1850 г. выпущен прапорщиком в лейб-гвардии Егерский полк; в 1854 г. окончил курс Императорской военной академии, причислен к Генеральному штабу и назначен в распоряжение командующего войсками в Финляндии, где принял участие в обороне Свеаборга и Гельсингфорсской оборонительной линии. Переведённый в 1855 г. в Генеральный штаб, Комаров в 1857 г. отправился на Кавказ, где в течение 1859—1864 гг. принимал участие в делах с горцами в составе отрядов Лезгинского и Залабинского (1859), Шапсугского (1860), Верхне-Абадзехского (1861), Адагумского (1863) и Ахчинсухского (1864). За отличие в этих делах Комаров был награждён чином подполковника, золотой саблей с надписью «За храбрость» (1862 г.) и орденами св. Станислава 2-й степени с мечами, св. Анны 2-й степени с мечами (1861 г.) и св. Владимира 4-й степени с мечами и бантом. В 1863 г. Комаров был назначен командующим Кавказским гренадёрским стрелковым батальоном, в 1865 г. за отличие в делах с горцами произведён в полковники и назначен командиром 152-го Владикавказского пехотного полка; в 1871 г. был награждён орденом св. Владимира 3-й степени. С началом русско-турецкой войны 1877—1878 гг. Комарову был вверен сперва оборонительный отряд на границе Ахалцыхского уезда, а затем в начале мая Ардаганский отряд, с которым он и произвёл 4 мая лихую рекогносцировку к Карсу, закончившуюся успешным для нас боем. 21 мая Комаров отбросил турок к Эрзеруму и занял укреплённые пункты впереди Карса: Пеняк и Ольты. Произведенный 28 июля 1878 г. в генерал-майоры с назначением состоять в распоряжении главнокомандующего Кавказской армией, Комаров остался во главе Ардаганского отряда и, предприняв с ним движение к Арданучу, 16 июня атаковал и разбил трёхтысячный отряд Ахмеда-Эфенди, занимавший крепкую позицию впереди Ардануча на высотах за каменными завалами. Однако занятие Ардануча не входило в планы главнокомандующего, и Комарову приказано было отступить к Ардагану. На обратном пути к нему Комаров разбил 23 июля двухтысячный отряд турок и черкесов близ аулов Сайзали и Дыштир. В сражении 6 августа при Больших и Малых Ягнах отряд из 5 батальонов при 12 орудиях был атакован 14 турецкими таборами с вдвое сильнейшей артиллерией и несколько часов удерживал позицию, отбивая все атаки турок; когда же отряду приказано было отступить, Комаров объявил частным начальникам: «Отступление упорное: шаг за шагом; от времени до времени переходить в атаку; на каждой остановке пить чай», и приказал своему вестовому ставить самовар. Так, действительно, отряд и отступал; на трёх больших остановках раненых поили чаем. За это дело Комаров был награждён орденом св. Георгия 4-й степени
13 августа при захвате турками горы Кизиль-Тапа Комаров был выслан со своим отрядом из Кюрюк-Даринского лагеря на помощь атакованным войскам. Решительным и смелым движением на центр неприятельской позиции у Суботана Комаров отбросил турок, причем сам был ранен ружейной пулей в грудь и руку. Ему спас жизнь шейный образок, отклонивший направление пули. Оправившись через месяц от ран, Комаров вернулся к своему отряду и при штурме Карса 6 ноября командовал отдельной колонной, с которой и взял форт Чим, названный потом по Высочайшему повелению фортом генерала Комарова, и укрепление Тохмас, причем ему сдались 7 тысяч турок с 80 орудиями. За взятие Карса Комаров был 19 декабря 1877 г. награждён орденом св. Георгия 3-й степени
По взятии Карса Комаров со своим Ардаганским отрядом (9 пехотных батальонов, 8 горных орудий и 4 сотни кавалерии) был направлен к Батуму. Поход был зимний, трудный, по едва проходимым горным тропинкам. 3 декабря Комаров перевалил со своим отрядом через Яланус-Чанский перевал и 5 декабря взял после продолжительного и горячего боя Ардануч. Устроив здесь свою базу и подняв против турок шавшетских грузин, Комаров 1 января 1878 г. двинулся из Ардануча на Артвин, с боем овладел Горхотанскими высотами, в ночь на 8 января захватил Смиркевиский мост, 9 января атаковал укреплённую неприятельскую позицию у Долис-хана, выбил из нее турок и в ночь на 10 января овладел мостом на р. Имерхев. Новой атакой турецких позиций за этой рекой Комаров окончательно сломил сопротивление турок и открыл себе путь к Батуму. Неудачи Кобулетского отряда не остановили его, и 22 января он снова атаковал турок у Тольгома, под самым Батумом, и занял их позиции. Батум готов уже был пасть, когда получено было известие о перемирии; за отличие в Батумской операции был награждён орденом св. Станислава 1-й степени. По окончании войны Комаров был назначен военным губернатором Батумской области; в 1881 г. получил орден св. Анны 1-й степени и назначен состоять в распоряжении главнокомандующего Кавказской армией, в апреле 1883 г. — начальником Туркестанской стрелковой бригады, а в августе того же года комендантом Ивангородской крепости; в 1886 г. произведён в генерал-лейтенанты; в 1891 г. назначен комендантом Варшавской крепости, в 1894 г. командирован в Кронштадт для производства опытной стрельбы, в 1896 г. участвовал в комиссии по пересмотру положения об управлении крепостями, а в 1897 г. — в комиссии по выработке программ обучения в войсках крупных гарнизонов; в 1898 г. произведён в генералы от инфантерии с назначением помощником командующего войсками Варшавского военного округа по управлению Варшавским укреплённым районом; в 1902 г. назначен членом Военного совета, в 1905—1906 гг. состоял членом следственной комиссии по делу о сдаче крепости Порт-Артура японским войскам; в 1908 г. назначен комендантом Санкт-Петербургской крепости и в 1910 г. пожалован генерал-адъютантом к Его Императорскому Величеству. Умер 18 декабря 1912 г. Комаров числился в списках 1-го Кавказского стрелкового полка (с 1891 г.) и 152-го пехотного Владикавказского полка.
У Комарова было три брата: Александр, Виссарион и Дмитрий