Российский артист балета, педагог, режиссёр балетной труппы Большого театра.
В 1856 году экстерном окончил Московское императорское театральное училище.
В 1856 году принят танцовщиком‑фигурантом в Императорский Большой театр (ныне Государственный академический Большой театр России). В 1863 году переведён в солисты. Исполнял как комические партии, включая женские роли, так и трагические образы. Самая значимая партия — Иванушка в балете «Конёк‑Горбунок» (либретто В. П. Бегичева, постановка А. Сен‑Леона). Выступал на сцене Императорского Большого театра до 1906 года.
С 1894 по 1901 годы работал режиссёром балетной труппы Императорского Большого театра (ныне Государственный академический Большой театр России). С 1898 года преподавал мимику и пластику в Московском императорском театральном училище и Московской консерватории Императорского Русского музыкального общества (ныне Московская государственная консерватория имени П. Чайковского). В 1898–1902 годах возглавлял Московское театральное училище.
Поставил танцы для премьеры оперы «Евгений Онегин» П. Чайковского. В 1876 году совместно с В. Бегичевым написал сценарий балета «Лебединое озеро» П. Чайковского.