Окончил Академию русского балета имени Вагановой (класс Юрия Умрихина, 1999), в том же году принят в Мариинский театр. Исполнял сольные партии в работах Баланчина и Форсайта, в российских премьерах балетов Нижинской, Макмиллана, Ноймайера, Прельжокажа. Первый исполнитель партий в спектаклях Лакотта, Ратманского, Симонова, Мирошниченко. Участник проектов «Диана Вишнёва: красота в движении» и «Диана Вишнёва: диалоги».
Дебютировал как хореограф в 2012 году в Мариинском театре. Поставленный там «Скрипичный концерт №2» на музыку Прокофьева принес ему Национальную театральную премию «Золотая маска».Ттакже ставил в Балете Якобсона, «Балете Москва», Баварском государственном балете, Большом театре России.
С 2020 по 2023 год возглавлял Пермский балет. В 2017-2020 и с 2024 — заместитель художественного руководителя и резидент-хореограф Урал Балета в Екатеринбурге. Здесь поставил Brahms Party, «Венгерские танцы» на музыку Брамса, «Конёк-горбунок» Королёва (вместе со Славой Самодуровым), «Каменный цветок» Прокофьева, а также «Графит» Горлинского — это совместная постановка Урал Оперы и Дома культуры «ГЭС-2» в Москве.