Окончил Свердловский юридический институт по специальности «правоведение», работал следователем прокуратуры Ленинского района Златоуста.
В 1983—1985 служил в Советской Армии. После демобилизации — старший следователь прокуратуры Металлургического района Челябинска, старший следователь и заместитель прокурора Курчатовского района. В 1991—1997 — прокурор Центрального района Челябинска, в 1997—2003 — прокурор Челябинска.
В 2001 году был награжден именным оружием за добросовестную службу. В 2003 году уволен в связи с ликвидацией прокуратуры Челябинска.
С января по апрель 2005 года — председатель совета Челябинской городской правозащитной общественной организации «Гражданская позиция».
В апреле 2005 года назначен Первым заместителем Главы города Челябинска.
С 22 апреля по 4 июня 2010 — исполняющий обязанности главы города Челябинска.
С 4 июня 2010 — глава администрации того же города (сити-менеджер).