В 1988 году окончил Воронежское высшее военное авиационное инженерное училище. С августа 1988 года по август 1989 года служил помощником начальника штаба 936-го отдельного батальона аэродромно-технического обеспечения Сызранского высшего военного авиационного училища летчиков им. 60-летия СССР, а затем был помощником начальника отдела кадров училища. С февраля 1992 года по декабрь 1999 года занимал пост начальника отдела кадров и строевой части 146-й отдельной мобильной механизированной бригады гражданской обороны, а с декабря 1999 года по август 2000 года — старшего помощника начальника штаба по кадрам и строевой части 847-го спасательного центра. В 1999 году в составе Территориального управления МЧС России принял участие в чеченской войне. С августа 2000 по декабрь 2003 года занимал пост начальника управления по делам гражданской обороны и чрезвычайным ситуациям Железнодорожного района Воронежа — заместителя начальника гражданской обороны в Воронеже.
В 2001 году окончил Воронежский государственный университет. С декабря 2003 года по январь 2005 года был помощником начальника Главного управления (по организации службы безопасности военной и внутренней службы). С января 2005 года по январь 2008 года занимал должность начальника управления кадров, воспитательной работы, профессиональной подготовки и психологического обеспечения. В 2006 году окончил Воронежский институт экономики и социального управления. С января 2008 по май 2010 года находился на посту первого заместителя начальника Главного управления МЧС России по Воронежской области. В 2009 и 2012 годах прошёл курсы повышения квалификации в Академии гражданской защиты МЧС России. С мая 2010 года по апрель 2016 года был начальником Главного управления МЧС России по Воронежской области.
13 декабря 2012 года получил звание генерал-майора внутренней службы.
С апреля 2016 года по август 2017 года находился на должности первого заместителя начальника Центрального регионального центра МЧС России, а также исполнял обязанности начальника Центрального регионального центра. В 2017 году окончил магистратуру Академии государственной противопожарной службы МЧС России. В августе 2017 года занял пост директора департамента кадровой политики МЧС России, а в августе 2018 года стал исполняющим обязанности заместителя министра МЧС России.
12 декабря 2018 года получил звание генерал-лейтенанта внутренней службы.
Был занят на разрешении ряда крупных чрезвычайных ситауций, в частности в ликвидации последствий катастрофы самолета АН-148 в Белгородской области, участвовал в отправке колонны с гуманитарной помощью на территорию Южной Осетии в ходе грузино-ожноосетинского конфликта (2008 год), руководил операцией по приему беженцев из Украины на территории Воронежской области (2014 год), ликвидировал последствия катастрофы самолета АН-148 в Московской области (2018 год).
1 мая 2019 года был назначен заместителем министра МЧС России — главным государственным инспектором РФ по пожарному надзору, а 4 ноября того же года был переназначен.
12 декабря 2019 года назначен временно исполняющим обязанности губернатора Иркутской области, после отставки с этой должности Сергея Левченко. В тот же день с ним провёл рабочу встречу президент России Владимир Путин, а также с премьер-министром Дмитрием Медведевым. Назначение поддержал министр МЧС России Евгений Зиничев.
В сентябре 2020 года избран губернатором Иркутской области.