Two goals in the second half by Tokelo Rantie and substitute Percy Tau gave Bafana Bafana their first victory over the Super Eagles after 13 encounters; and the result handed the South Africans the second spot in Group E behind Libya who jumped into the lead following their 5-1 win over Seychelles in an earlier fixture on Friday in Cairo.
On resumption, South Africa grew with confidence and Rantie got the opener in the 54th minute when he headed home a cross from Rama Mahalalele past goalkeeper Daniel Akpeyi after the Nigerian defence had been caught napping.
Nigeria pressed for the equalizer but they nearly conceded another goal as the game dragged towards the end after Zwane yet again saw his shot hit the post.
On the other end, Oghanekaro Etebo fired over the post as the Super Eagles continued in search of the equalizer.
Moments later, it was the visitors who doubled their lead in the 80th minute through Tau, who rounded up Akpeyi off a through ball by Keegan Dolly much to the surprise of the home crowd; as the Super Eagles recorded their first loss under new coach Gernot Rohr since his appointment last year.
Nigeria has yet to qualify for the continental showpiece since they won their third title in South Africa in 2013, and will have to pull their chestnut from the fire to make the party yet again in 2019 in Cameroon.
The next round of matches is due in March 2018 when South Africa host Libya and Nigeria travel to Seychelles.
9.06.2017 Obeid Sudan 1-3 Madagascar
10.06.2017 Dakar Senegal vs Equatorial Guinea
10.06.2017 Yaounde Cameroon 1-0 Morocco
10.06.2017 Lilongwe Malawi 1-0 Comoros
10.06.2017 Bamako Mali vs Gabon
10.06.2017 Bujumbura Burundi 3-1 South Sudan
11.06.2017 Blida Algeria vs Togo
11.06.2017 Cotonou Benin vs Gambia
9.06.2017 Cairo Libya 5-1 Seychelles
10.06.2017 Uyo Nigeria 0-2 South Africa
10.06.2017 Freetown Sierra Leone 2-1 Kenya
11.06.2017 Kumasi Ghana vs Ethiopia
10.06.2017 Kinshasa DR Congo 3-1 Congo
11.06.2017 Harare Zimbabwe vs Liberia
10.06.2017 Bouake Cote d’Ivoire 2-3 Guinea
11.06.2017 Bangui Central African Rep. vs Rwanda
10.06.2017 Ouagadougou Burkina Faso 3-1 Angola
10.06.2017 Francistown Botswana 0-1 Mauritania
10.06.2017 Niamey Niger 0-0 Swaziland
11.06.2017 Tunis Tunisia vs Egypt
10.06.2017 Ndola Zambia 0-1 Mozambique
10.06.2017 Bissau Guinea Bissau 1-0 Namibia
10.06.2017 Dar es Salaam Tanzania 1-1 Lesotho
11.06.2017 Praia Cape Verde vs Uganda