↑ Количество игр и голов за профессиональный клуб считается только для различных лиг национальных чемпионатов, обновлено по состоянию на 11 декабря 2023 года.
↑ Количество игр и голов за национальную сборную в официальных матчах, обновлено по состоянию на 8 декабря 2020 года.
Сослан Джанаев начал заниматься футболом в школе владикавказского «Спартака». В 1996 году переехал в Москву и поступил в СДЮШОР клуба ЦСКА (Москва), окончив которую, не сумел пробиться в основной состав и выступал лишь за дубль клуба[3], проведя 6 матчей, в которых пропустил 6 мячей. В 2007 году перешёл в клуб «КАМАЗ», за команду в первом дивизионе чемпионата России провёл 28 матчей, в которых пропустил 17 мячей, в Кубке России — 2 матча и 3 пропущенных мяча. В 2008 году перешёл в московский «Спартак», в котором дебютировал в Кубке России 6 августа против брянского «Динамо», проведя 2 матча в которых пропустил 3 мяча, в основном же играл за дублирующий состав «красно-белых» (18 матчей — 17 пропущенных мячей), с которым стал чемпионом России среди дублёров. В сезоне 2009 впервые вышел на поле в Премьер-Лиге 18 апреля 2009 года в матче с клубом «Терек» и отстоял на ноль, эта же игра стала первой для Валерия Карпина на посту главного тренера «Спартака». После этого Джанаев стал основным вратарём команды, вытеснив из состава Стипе Плетикосу. 7 ноября 2009 года «Спартак», борющийся за чемпионство, из-за ошибки Джанаева, проиграл матч «Крыльям Советов»[4]. Главный тренер команды, Валерий Карпин, сказал, что произошёл «несчастный случай»[5]. Известный в прошлом вратарь «Спартака» Анзор Кавазашвили объяснил ошибку Джанаева тем, что он не попытался гасить полёт мяча, а рассчитывал сразу поймать его[6]. В следующей игре, с ЦСКА, Джанаев вновь допустил ошибку, пытаясь поймать мяч и выронив его в ворота, из-за чего его команда проиграла[7]. После игры Джанаев извинился перед партнёрами по команде и болельщиками клуба[8]. Из-за этих двух ошибок Джанаева стали обвинять в том, что он не выиграл конкуренцию у Стипе Плетикосы, а занял место в ворота из-за наличия у него российского паспорта[9]. Несмотря на это, тренерский штаб выразил доверие Джанаеву[10].
В чемпионате России 2010 Джанаев вновь занял позицию основного вратаря «Спартака». Во втором туре, в игре с «Зенитом» (1:1) Джанаев, по мнению многих, стал лучшим игроком встречи, отбив несколько очень сложных мячей[11][12]. 4 апреля 2010 года в игре с «Томью» Джанаев совершил ошибку, в результате которой был назначен пенальти; встреча завершилась вничью 2:2[13]. 10 мая в игре с «Аланией» Джанаев пропустил 5 голов[14]. 21 июля в матче с «Сибирью» Джанаев, в предыдущей игре допустивший результативную ошибку[15], остался в запасе, а его место в воротах «красно-белых» занял Сергей Песьяков[16].
27 августа решился вопрос о переходе Джанаева в «Терек» в обмен на вратаря Андрея Диканя[17] на 2,5 года на правах аренды[18].
Когда начались переговоры об обмене, я по душам поговорил с Карпиным. Валерий Георгиевич сказал, что по-прежнему верит в меня как во вратаря, верит в то, что я ещё заиграю, но на данный момент мне лучше поиграть в «Тереке», переждать, пока все страсти вокруг меня улягутся, набраться опыта и вернуться в «Спартак» другим вратарём. Я с ним согласился. Советовался также с Черчесовым и Стауче. Они поддержали меня и посоветовали соглашаться на переход в «Терек»[19].
23 октября Джанаев дебютировал в составе «Терека» в игре с «Сатурном»; игра завершилась победой «Сатурна» со счётом 1:0[20].
20 декабря 2012 года был отдан в аренду в «Аланию»[21] с правом последующего выкупа трансфера[22].
2 сентября 2013 года вернулся в московский клуб и был заявлен за «Спартак-2» под 27-м номером[23].
Зимой 2014 года покинул «Спартак» и начал тренироваться в составе «Ростова». 2 июля 2014 года подписал трёхлетний контракт с клубом.
По состоянию на 1 мая 2016 являлся третьим в списке вратарей чемпионатов России с сухими сериями — 775 минут[24].
Летом 2017 года покинул клуб[25]. 14 июля подписал контракт с «Рубином», за который дебютировал 20 сентября в матче 1/16 Кубка России. 8 февраля 2019 контракт был расторгнут по обоюдному согласию[26]. 27 февраля подписал контракт до конца сезона с клубом высшей лиги Польши «Медзь» Легница[27].
15 июля 2019 года перешёл в состав дебютанта РПЛ «Сочи»[28].
29 августа 2023 года на правах свободного агента перешёл в «Балтику». 25 ноября 2023 года дебютировал за «Балтику» в матче с московским «Спартаком», выйдя на замену Максима Бориско.