↑ Количество игр и голов за профессиональный клуб считается только для различных лиг национальных чемпионатов, обновлено по состоянию на 22 апреля 2023 года.
↑ Количество игр и голов за национальную сборную в официальных матчах.
Начал заниматься футболом в футбольной школе ставропольского «Динамо» в возрасте 7 лет у тренера Игоря Витальевича Попова. Первоначально играл на позиции полузащитника[4].
В ноябре 2011 года попал в сферу интересов петербургского «Зенита»[6], но предложения так и не последовало. 11 июня 2012 года, после просмотра за дубль московского «Спартака» на международном турнире в Германии, где Кутепов провёл все матчи, заключил долгосрочный контракт с клубом[7].
10 декабря 2012 года дебютировал за основной состав «Спартака», выйдя на замену в компенсированное время в гостевом матче против «Рубина» (1:0)[8].
Спустя почти три года, 1 ноября 2015 года, уже под руководством Дмитрия Аленичева, 22-летний Кутепов был включён в стартовый состав «Спартака» в домашнем матче с «Уралом» (0:1), составив пару центральных защитников с Сердаром Таски[9]. 7 ноября отыграл полный матч против «Терека» в гостях (1:2)[10], а 22 ноября вместе с Сальваторе Боккетти провёл весь матч в центре обороны против «Краснодара» (3:2)[11].
В матче 17 октября 2020 года с «Химками» в конце второго тайма принял капитанскую повязку после замены Романа Зобнина (который был капитаном в матче из-за карантина Георгия Джикии)[12]. 12 декабря 2020 года в матче чемпионата России против «Сочи» (0:1) провёл свой 100-й матч за «Спартак»[13].
1 июня 2022 года Кутепов объявил об уходе из «Спартака»[14][15]. Выступал за клуб с 2012 по 2022 год, проведя 114 матчей и забив два мяча, также в его активе 70 матчей и шесть мячей за «Спартак-2».
1 июля 2022 года на правах свободного агента заключил контракт на один сезон с московским «Торпедо» с опцией продления ещё на сезон[16].
Выступал за юношеские сборные России 1992 и 1993 годов рождения[18]. Вызывался в основную сборную в августе 2016 года на товарищеские матчи с Турцией и Ганой, однако на поле так и не вышел. В сборной России дебютировал 9 октября 2016 года в товарищеском матче против сборной Коста-Рики, выйдя в стартовом составе[19].
Кутепов был включён в состав сборной России на Кубок конфедераций 2017 года, но не сыграл на турнире ни одного матча.
Попал в окончательную заявку сборной на домашний чемпионат мира 2018 года и принял участие во всех трёх матчах сборной на групповом этапе — с Саудовской Аравией, Египтом, Уругваем. По результатам этих матчей сборная России заняла второе место в группе и вышла в плей-офф. В 1/8 сборная России обыграла сборную Испании (1:1, 3:4 по пен.), но в 1/4 проиграла сборной Хорватии (2:2, 3:4 по пен.). В плей-офф Кутепов также сыграл за сборную в обоих матчах.