В начале карьеры выступал за калининскую «Волгу» .
В 1969 году перешёл в московское «Динамо» , но преимущественно выступал за дубль, сыграл 45 матчей и забил 5 голов в первенстве дублёров.
В основном составе бело-голубых провёл один матч — 1 июня 1970 года в 1/8 финала Кубка СССР против «Арарата» вышел на замену в перерыве вместо Юрия Сёмина. «Динамо» в этом розыгрыше стало обладателем Кубка страны.
В 1971 году футболист вернулся в Калинин и в течение следующих десяти сезонов выступал за «Волгу» . Всего за команду сыграл 336 матчей и забил 40 голов в первенствах страны.
В 1975 году в составе «Волги» стал обладателем Кубка РСФСР.После окончания карьеры играл за тверские клубы в соревнованиях КФК, также много лет работал детским тренером в СДЮСШОР г. Твери. Несколько раз работал со взрослыми коллективами, выступавшими в любительских соревнованиях, а также входил в тренерский штаб тверской «Волги» .
В 2013 году возглавлял «Верхневолжье» (Калининский район) в первенстве области.Имеет высшее профессиональное образование и тренерскую лицензию «С» . Награждён почётными грамотами губернатора области и главы города Твери.