Родился 21 мая 1951 года в городе Николаевске-на-Амуре Хабаровского края. В 1968-1970 годах учился в Политехническом институте Комсомольска-на-Амуре. В 1976 году окончил Свердловский юридический институт по специальности "правоведение".
Покинув Политехнический институт, работал электриком на судостроительном заводе в Николаевске-на-Амуре, служил в армии. С 1976 года — стажер, затем следователь прокуратуры Усть-Удинского района Иркутской области. С 1978 года — заместитель тулунского межрайонного прокурора Иркутской области. В 1979-1983 годах — транспортный прокурор Тайшета. В 1983 году возглавлял следственный отдел Восточно-Сибирской транспортной прокуратуры. С 1984 года — инструктор отдела административных органов иркутского обкома КПСС.
В 1986-1988 годах — первый зампрокурора Иркутской области--начальник следственного отдела облпрокуратуры. С 1988 года — заведующий государственно-правовым отделом иркутского обкома КПСС. В 1990-1992 годах — главный прокурор Восточно-Сибирской транспортной прокуратуры. С 1992 года — прокурор Иркутской области.
В ноябре 1995 года назначен первым заместителем генпрокурора РФ Юрия Скуратова. 2 апреля 1999 года, после отстранения господина Скуратова, стал и. о. генпрокурора. 9 августа 1999 года покинул пост в связи с выходом на пенсию. 17 августа 1999 года назначен министром юстиции в правительстве Владимира Путина, сохранил пост в кабинетах Михаила Касьянова и Михаила Фрадкова.
Государственный советник юстиции первого класса. Награжден орденами Почета, "За заслуги перед Отечеством" IV степени, медалью "За воинскую доблесть". Заслуженный юрист РФ.
Женат, двое детей. Сын Артем 1975 года рождения — адвокат, соучредитель ряда компаний ("Лигал Консалтинг", "Чаадаев, Хейфец и партнеры" и других).