Родился в дворянской семье. Окончил 4-й (с 10.09.1892 — 3-й) Московский кадетский корпус (1883), 3-е военное Александровское училище (1885), Николаевскую академию Генерального штаба (1894; по первому разряду).
С 1885 — подпоручик, с 1888 — поручик 11-й артиллерийской бригады. После окончания академии произведён в штабс-капитаны и направлен на службу в Кавказский военный округ. С 1896 — капитан, с 1900 — подполковник, с 1904 — полковник, с 1912 — генерал-майор.
С началом Первой мировой войны стал генерал-квартирмейстером штаба 4-й армии, образованного на базе управления Казанского военного округа. Занимал этот пост в 1914—1915.
Жил в Казани, где в ноябре 1917 (или в январе 1918) создал и возглавил тайную офицерскую организацию, насчитывавшую около 450 членов. Организация была ориентирована на генерала М. В. Алексеева. Входил в состав Союза защиты Родины и Свободы, возглавлявшегося Б. В. Савинковым. Создал в Казани тайный склад оружия для планировавшегося выступления против большевиков.
22 мая 1918 года был арестован и отправлен в Москву. В биографии видного деятеля ВЧК-ОГПУ-НКВД Леонида Заковского приводятся некоторые данные о разгроме организации Попова. Заковский был направлен ВЧК в Казань под видом офицера для ликвидации этой организации; он же арестовал Попова.
В «Красной книге ВЧК» (второе издание, М., 1990) опубликованы протоколы трёх допросов генерала Попова — от 7, 13 и 29 июня 1918 (третий допрос проводил Феликс Дзержинский). Из протоколов следует, что Попов держался на допросах твёрдо, никого не выдал. Последовательно придерживался версии, что сформировал организацию для того, чтобы получить деньги от неких спекулянтов якобы для борьбы с большевиками, а в реальности для поддержки голодавших офицеров. Реальные источники финансирования организации не раскрыл.
Генерал Попов был расстрелян в июле 1918 года вместе с рядом других активных деятелей антибольшевистских офицерских организаций.