Johnson attended UCLA and played for the UCLA Bruins football team as a wingback and defensive back. He totaled 812 yards from scrimmage in 1959 and 1960. Johnson also competed in track at UCLA, won the NCAA 110-meter hurdles championship, and was named an All-American in track and field.
Johnson was selected by the San Francisco 49ers in the first round (sixth overall pick) of the 1961 NFL Draft and by the San Diego Chargers in the fourth round (31st overall pick) of the 1961 AFL Draft. He signed with the 49ers in June 1961. As a rookie, Johnson appeared in 12 games for the 1961 49ers, played at the cornerback position, and intercepted five passes for a career-high 116 return yards. He became a wide receiver in 1962 and caught 34 passes for 626 yards and four touchdowns. His most productive game as a wide receiver came against the Detroit Lions, in which he caught 11 passes for 181 yards. Earlier that season, he caught a game-winning 80-yard touchdown reception against the Chicago Bears, which at the time was the longest scoring pass in 49ers history. Johnson returned to defense in 1963 and played principally at safety and cornerback for the rest of his career. He remained with the 49ers for 16 years through the 1976 season, appearing in 213 NFL games.
During his 16 years in the NFL, Johnson intercepted 47 passes for 615 return yards and two touchdowns in his NFL career. He was selected four times as a first-team All-Pro: 1969 (AP, UPI), 1970 (AP, NEA, Pro Football Writers, Pro Football Weekly), 1971 (AP, NEA, Pro Football Writers, Pro Football Weekly), and 1972 (AP, NEA, Pro Football Writers, Pro Football Weekly). He was also selected to play in five Pro Bowls (1969–1972, 1974). According to his biography at the Pro Football Hall of Fame, Johnson is regarded as "one of the best man-to-man defenders in history."