Родился 23 ноября 1944 года в Свердловске.
Работал фрезеровщиком и техником-конструктором на «Уралмаше», одновременно обучаясь на вечернем отделении Уральского политехнического института (1962 − 1963). После службы в армии устроился работать корреспондентом свердловской молодёжной газеты «На смену!» (1966 – 1967). Затем учился в Литературном институте, закончив который в 1972 году, работал в редакциях журналов «НС» (1971 – 1972) и «Студенческий меридиан» (1973 − 1977).
Член Союза писателей СССР с 1977 года, секретарь Союза писателей Москвы (1991 − 1994). Член исполкома Русского ПЕН-центра (1989 − 1999), редакционного совета журнала «Урал» (в 1990-е), общественного совета журнала «Октябрь».
В декабре 2019 года стал лауреатом премии имени Фазиля Искандера. Наградой был отмечен роман «Минус 273 градуса по Цельсию».