Афанасьев был выносливым и трудолюбивым футболистом, хорошо выбирал позицию. Выступал за московский «Дукат» (1932—1933) и болшевское «Динамо» (1934—1937). С 1938 по 1941 год играл в полузащите киевского «Динамо». В чемпионате СССР провёл 55 матчей и забил два гола.
После войны перешёл в ЦДКА. В 1945 году он выиграл кубок СССР по футболу, а через год — чемпионат. Всего за армейскую команду в чемпионатах СССР провёл 54 матча и забил один гол.
В 1948 году Афанасьев перешёл в хоккей с шайбой. В составе ЦДКА трижды подряд завоёвывал золотые награды чемпионата СССР (1948—1950). По очереди с Григорием Мкртычаном защищал ворота сильнейшей команды советского хоккея. Всего в чемпионате СССР провёл 78 матчей.
После ухода из спорта Афанасьев стал футбольным судьёй, в 1958 году получил республиканскую категорию. Провёл десять матчей в статусе основного судьи и ещё 13 в качестве лайнсмена.