In the first months of 2019, Ndiaye was scouted by Roma, subsequently joining the Serie A club on trial.[2][3] With the outcome turning out to be successful, the defender officially entered Roma's youth academy in August 2019,[4] although he was officially registered to play in official competitions in October of the same year.[2][5] Following his performances for the club's under-19 squad, during the 2021–22 season Ndiaye started training with the first team under manager José Mourinho.[2][6] On 4 December 2021, he featured on the bench in a 0–3 league loss against Inter Milan: in the occasion, Ndiaye was supposed to make his senior debut in the injury time, but refereeMarco Di Bello blew the final whistle before the substitution could take place, as the ball was not sent off the field on time.[3][7] In May 2022, he helped Roma reach the final of the under-19 national championship.[8][9]
Cremonese
On 4 July 2022, Ndiaye joined newly-promoted Serie A club Cremonese on a permanent deal.[10][11] The transfer included an undisclosed sell-on clause in favor of Roma.[3]
Loan to Vicenza
Having not found game time during the first half of the 2022–23 campaign, on 15 January 2023, Ndiaye was sent on loan to Serie C side Vicenza until the end of the season.[12][13] One week later, on 22 January, the defender made his professional debut for the club, coming in as a substitute for Nicola Dalmonte in the 87th minute of a 3–0 league win against AlbinoLeffe.[14]
Loan to Železničar Pančevo
On 6 September 2023, Ndiaye joined Serbian SuperLiga side Železničar Pančevo on loan until the end of the season, with the deal including an option-to-buy.[15]
Loan to Turris
On 30 August 2024, Ndiaye joined Serie C club Turris on a season-long loan.[16]