Начал заниматься футболом в клубе «Гавр». Первым профессиональным клубом Ньянга стал «Труа». В «Труа» он не всегда попадал в основной состав, и в январе 2003 года был отдан в аренду в клуб Лиги 2 «Мец». За 5 месяцев в «Меце» Ньянг забил 5 мячей в лиге (больше, чем в любом из предыдущих сезонов в «Труа») и помог своей команде вернуться в высший дивизион. После двух сезонов в «Страсбуре», который был середняком Лиги 1, перешёл в «Олимпик» Марсель за 7 миллионов евро. В сезоне 2007/2008 занял второе место в рейтинге бомбардиров Лиги 1 с 18 голами, уступив первую строчку Кариму Бензема. В сезоне 2009/2010 стал капитаном «Марселя». 14 августа 2010 года игрок подписал контракт с турецким клубом «Фенербахче» по схеме «3+1». 23 августа 2010 года дебютировал в чемпионате Турции 2010/11 в выездном матче против «Трабзонспора». 29 августа 2010 года открыл счёт своим мячам за «Фенербахче» в домашнем матче против «Манисаспора», оформив дубль. 27 сентября 2010 года забил 3 мяча в выездном матче против «Касымпаши». 6 сентября 2011 года «Фенербахче» продал Ньянга в катарский клуб «Аль-Садд» за ?7,5 млн.
В составе сборной Сенегала участвовал в Кубках африканских наций 2004, 2006 и 2008, на которых забил 4 гола.