Мать была детским врачом, отец работал в лесхозе, затем управляющим трестом "Ленлес". В 1949-1954 учился на отделении журналистики филфака ЛГУ, затем был сотрудником газеты «Молодежь Алтая» в Барнауле, в 1957 вернулся в Ленинград, в этом же году опубликован первый рассказ. В конце 50-х—начале 60-х подолгу бывал в Сибири, не только как журналист, но и как сотрудник геологических экспедиций. Член СП СССР с 1960.
С 1977 по апрель 1982 был главным редактором журнала «Аврора»; эту должность он потерял из-за того, что в журнале был напечатан рассказ В. Голявкина «Юбилейная речь» (1981, №12), в которой усмотрели намёк на 75-летие Брежнева.
Умер от инфаркта.