Народився у Ньйоні в сім'ї швейцарки та сенегальця. Почав грати у футбол у своєму місцевому клубі «Ла-Кот Спортс», з якого потрапив до академії «Лозанни», де він пройшов усі юнацькі рівні[2]
Дебютував у першій команді «Лозанни» 13 лютого 2019 року в грі Челлендж-ліги проти «Крієнса» (3:2)[3] і швидко став основним гравцем. 27 січня 2020 року французький клуб Ліги 1«Ніцца» підтвердив, що Ндоє підписав контракт з клубом, але залишиться в «Лозанні» в оренді до кінця сезону 2019/20[4]. Загалом за рідний клуб Дан провів 45 матчів і забив 10 голів у другому швейцарському дивізіоні.
Ндоє зіграв свій перший матч за «Ніццу» в Лізі 1 23 серпня 2020 року у грі проти «Ланса» (2:1), вийшовши разом зі своїм співвітчизником Джорданом Лотомбою, який також проводив свій перший матч за клуб[5].
31 серпня 2021 року повернувся на батьківщину, приєднавшись на правах оренди до «Базеля», а на початку лютого наступного року базельський клуб викупив контракт нападника.
14 серпня 2023 року за 8 мільйонів євро перейшов до італійської «Болоньї».
Виступи за збірні
Гравець юнацьких та молодіжних збірних Швейцарії. З молодіжною командою поїхав на молодіжний чемпіонат Європи 2021 року в Угорщині та Словенії, де в матчі проти Англії відзначився голом, який приніс його команді перемогу 1:0[6]