Зелимхан Бакаев попал в академию «Спартака» в возрасте 11 лет. В первые годы он ничем не выделялся на фоне сверстников, но ближе к выпуску из академии стал все чаще проявлять себя лидером на поле, выступая в роли классической «десятки». С 17 лет Бакаев начал выступать за молодежную команду «Спартака», за которую в итоге провел 53 матча и забил 4 гола. А в сентябре 2015 года в возрасте 19 лет дебютировал за основную команду, заменив во втором тайме Дениса Глушакова в кубковом матче против нижегородской «Волги».
Дебют Зелимхана Бакаева за основной состав красно-белых в матче Премьер-лиге состоялся только в июле 2017 года, когда футболисту исполнился уже 21 год. Но стать стабильным игроком основы у него не получилось. По ходу сезона Бакаев провел за «Спартак» лишь 5 матчей, не отметившись результативными действиями. Тогда в клубе приняли решение отдать игрока в аренду тульскому «Арсеналу», и это в итоге дало положительный эффект. Зелимхан стал одним из лидеров тульской команды, забив 8 голов в 25 встречах.
Сезон 2019/2020 Бакаев уже начинал, как основной игрок московского «Спартака», показывая отличный футбол. В том году в его активе было 6 голов и 9 результативных передач в 27 матчах. И именно в этом сезоне Зелимхан стал выступать за красно-белых под 10 номером.
В следующих сезонах Зелимхан Бакаев был одним из ведущих полузащитников «Спартака», отдавая много голевых пасов и иногда отличаясь забитыми мячами. Но были у него и травмы, из-за которых приходилось пропускать важные игры. Безусловным лидером команды игрок так и не стал, хотя имел все возможности для этого. Тем не менее большинство болельщиков ждали, что Зелимхан останется в клубе, который дал ему путевку в профессиональный футбол. Но игрок принял решение перейти в «Зенит», который доминирует в российском футболе в последние годы. Болельщикам «Спартака» остается только пожелать Зелимхану удачи, но не в матчах против их любимой команды.