Bulgarian football defender Ivan Zafirov joined the youth team of CSKA Sofia in 1957 when he was 10-years-old. After a lengthy youth career Zafirov made his senior début in 1965, playing one season for the club before joining Sliven. He returned to CSKA in 1968 and remained at the club for the rest of his domestic career, playing in more than 340 matches for the side. With CSKA he was a nine-time champion of Bulgaria (1966, 1969, 1971–73, 1975–76, 1980–81) and won the Soviet Army Cup on five occasions (1965, 1969, 1972–74).
From 1968 to 1980 Zafirov also earned 50 international caps with the Bulgarian national team. He was part of the squad that won silver in the football tournament at the 1968 Mexico City Olympics, scoring a goal in their 7–0 win against Thailand in the group stage. Six years later Zafirov was also named in Bulgaria’s squad for the 1974 FIFA World Cup in West Germany. Following his playing career he worked as a coach.