W sierpniu 2012 roku Niang podpisał trzyletni kontrakt z zespołem Milanu. Swój debiut w Serie A zanotował 1 września 2012 w wygranym 3:1 wyjazdowym meczu z Bologną. W 91. minucie tego meczu zmienił Giampaolo Pazziniego. 13 grudnia strzelił swojego pierwszego gola w barwach Milanu, w spotkaniu Pucharu Włoch z Regginą. W kolejnych latach był wypożyczany do różnych zespołów, m.in. do Montpellier HSC, Genoa CFC, Torino FC czy Stade Rennais, z którym w 2019 roku związał się stałym kontraktem. Po krótkim pobycie w saudyjskim Al-Ahli Dżudda wrócił do Francji, gdzie reprezentował barwy Girondins Bordeaux (2021-2022) oraz AJ Auxerre (2022-2023). W sierpniu 2023 przeniósł się do tureckiego Adana Demirspor.
18 czerwca 2026 roku rozwiązał kontrakt z Genclerbirligi SK za porozumieniem stron.
12 września 2026 podpisał roczną umowę z USL Dunkerque.
Kariera reprezentacyjna Niang grał w reprezentacjach Francji U-16 i U-17, a w 2011 roku zadebiutował w kadrze U-21. Na Mistrzostwach Świata 2018 strzelił gola w wygranym 2:1 meczu z Polską.