Из малороссийского дворянского рода, восходящего к началу XVIII в. Окончил курс в 1-м Московском кадетском корпусе, в 1853 выпущен поручиком в Казанский егерский полк. В рядах полка, командуя с февраля 1854 ротой, совершил поход в Молдавию и Валахию и принимал участие в крымской кампании, отличившись в сражении при р. Альме. В сентябре 1855 переведён подпоручиком в Егерский лейб-гвардии полк.
В 1858 поступил в Николаевскую академию Генерального штаба, по окончании курса которой в 1860 был зачислен в Генеральный штаб. С 1863 по 1866 — помощник редактора «Русского инвалида». В 1866 произведён в полковники.
С 1866 по 1889 служил на окраинах России: 17 лет в Туркестане и 6 лет на Кавказе. В 1867 году назначен начальником штаба войск Сыр-Дарьинской области, а два года спустя ему уже было поручено исправлять должность помощника командующего войсками области. С 1873 — начальник штаба Туркестанского военного округа.
В бухарскую кампанию, находясь в отряде генерал-майора Романовского, участвовал в осаде, штурме и взятии Ура-Тюбе, в осаде Замлина и во взятии Джизака. В последующие годы принял деятельное участие в шахрисябской экспедиции (1870), в хивинском походе (1873) и кокандской экспедиции (1875), в походе во время покорения Кульджинского ханства (1876).
В 1870 произведён в генерал-майоры с назначением в Свиту Е. И. В.
В 1877, после покорения края, назначен военным губернатором и командующим войсками Сыр-Дарьинской области. В 1880 произведён в генерал-лейтенанты.
В 1883—1889 — начальник штаба Кавказского военного округа, в 1889—1890 — командир 16-го армейского корпуса. С 1890 по 1895 — помощник командующего войсками Киевского военного округа генерал-адъютанта М. И. Драгомирова. Генерал от инфантерии (1894). С 1895 — командующий войсками Виленского военного округа. Генерал-адъютант (1897). С 1897 и до кончины — Виленский, Ковенский и Гродненский генерал-губернатор.
Удостоен ряда высших российских орденов, до ордена Святого Александра Невского включительно.