Kofi Dan Kowa headed in a corner in the 15th minute to put the hosts ahead before Moussa Maazou scored from close range to make it 2-0 just after halftime.
Andile Jali pulled one back for South Africa in the 72nd but the visitors were unable to force an equalizer.
After Sierra Leone beat Egypt on Saturday, Niger tops Group G with 9 points, with South Africa and Sierra Leone a point behind.
South Africa hosts Sierra Leone in its final game next month, while Niger travels to Egypt, which has two points and cannot qualify.
Short link: