Карьеру игрока провёл в Свердловске, первоначально в клубе «Уралмаш» (1956—1967), ранее носившем названия «Авангард» и «Машиностроитель». В сезоне 1958 года с 16 голами стал лучшим бомбардиром команды. В составе «Уралмаша» провёл 351 матч и забил 65 голов в чемпионатах страны (все — в первой лиге).
После окончания карьеры работал в тренерском штабе нижнетагильского «Уральца», затем тренировал любительскую команду спорткомплекса «Калининец» и был завучем хоккейной школы олимпийского резерва «Спартаковец».
В 1980—1990-е годы выступал за команду ветеранов «Уралмаша».
По состоянию на 2017 год занимает второе место в истории «Уралмаша» по проведённым матчам (после Геннадия Санникова — 354) и пятое место по забитым мячам. Включён в символическую сборную футболистов Екатеринбурга XX века, набрав больше всех голосов среди полузащитников.