Футбольную карьеру начал в команде Московско-Ярославской железной дороги. За ЦСКА дебютировал в 17 лет, стал капитаном в 21. В чемпионатах СССР провел 278 матчей, забил 1 гол. Среди футболистов ЦСКА является рекордсменом по количеству матчей, сыграных за сборную СССР (91). Играл за Олимпийскую сборную.
В 1967 году был включен в символическую сборную СССР последнего 50-ти летия. В 1970 вошёл в десятку лучших футболистов Европы (по опросу еженедельника «Франс Футбол») и по опросу еженедельника «Футбол» был признан лучшим, а в 1966, 1968 и 1969 - третьим футболистом Советского Союза. В списках 33 лучших футболистов СССР 11 раз, из них № 1 (1963-1966, 1968—1971) - 8 раз, № 2 (1961, 1962) и бн (1967). Был капитаном ЦСКА и Сборной СССР.
Похоронен на Кунцевском кладбище.
Выступал за клубы:
На тренерской работе с 1973