Родился 13 июля 1966 года в городе Соликамске Пермской области. Окончил там же среднюю общеобразовательную школу.
В 1985 г. окончил Пермский политехнический институт.
В 1985–1987 гг – служба в армии (ВМФ).
В 1993 году окончил Пермский государственный университет по специальности «История». Работал в школе № 125 преподавателем истории.
В 1996 г. избран депутатом ПГД II созыва.
В 1997 г. занял пост заместителя председателя думы. С того же года – председатель попечительского совета Пермского общественного благотворительного фонда «Город». Выпускник Московской школы политических исследований.
В 1995–1998 гг. – заместитель председателя регионального отделения партии «Демократический выбор России».
В 2000 г. переизбран депутатом ПГД III созыва по округу № 6 и вновь занял пост заместителя председателя думы.
В 2003–2006 гг. – председатель ПГД.
В марте 2006 г. вновь избран депутатом ПГД IV созыва, где занял пост первого заместителя председателя думы.
В декабре 2010 г. назначен и. о. главы Перми.
В марте 2011 г. избран в ПГД V созыва. Назначен главой Перми.
В 2016 году избран в Государственную думу РФ VII созыва от партии«Единая Россия». Возглавлял партийный список в региональной группе № 12 (Удмуртская республика, Пермский край).
В Госдуме занимает пост заместителя председателя комитета по федеративному устройству и вопросам местного самоуправления.