Uche Nwofor came on for the second half and scored both goals for Nigeria, as Bafana suffered their sixth defeat in eight matches against the African champions.
Bafana and the Eagles both created their fair share of chances, but the visitors dominated overall, with Stephen Keshi’s shrewd second half substitutions tipping the balance.
Despite a slow start to the match, John Ogu had the first shot of the game on four minutes, from outside the box, but it was way high and wide.
Thuso Phala was yellow carded as early as the fifth minute, when he tried to take a free-kick to quickly. The set-piece was easily cleared by Nigeria.
Nigeria’s first real chance came from a ball over the top, which left centre-backs Mulomowandau Mathoho and Thabo Nthethe at sixes and sevens. Nnamdi Oduamadi got to the ball, but the threat was intercepted by Itumeleng Khune.
The Super Eagles had another half chance on 16 minutes. The ball was swept out wide to Sunday Mba, who spun it back in from the left to Elderson Echiejile in the penalty area, who goes for an acrobatic volley that went over the bar.
Shortly after, Dean Furman collected the ball just outside the box and Bafana went on the counter. Bernard Parker sent the ball through to Tokelo Rantie, who made a strong run but could not beat Efe Ambrose and the ball went out for a corner.
On 24 minutes, Furman again collected the ball in the middle and scooped it out to Parker, who got behind the Nigeria defence and looked to combine with Siphiwe Tshabalala, but the ball was just in front of him.
On half an hour Nigeria came close, when Ogu hit a curler, which thumped the top corner post with Khune stranded.
A few minutes later Reneilwe Letsholonyane found Rantie outside the box, who burst through the Nigeria defence on a solo run and had a shot, but it was straight at Austin Ejide.
Nigeria went on the offensive in the next few minutes, with Obinna Nsofor and Ogu on target, but Khune dealt with the chances – the second in unconventional style, with his chin.
Rantie then hit the side netting, after making space for himself in the box, before Letsholonyane hit the ball straight against Godfrey Oboabona after a pass from Rantie.
Nigeria made three changes at the start of the second half, bringing on Victor Moses for Mba, Ahmed Musa for Nsofor and Nwofor for Shola Ameobi.
Parker forced a good save from Ejide at the start of the second half with a free-kick, and the Eagles captain managed to parry Nthethe's effort off the rebound.
Four minutes later Nwofor made it 1-0, scoring with a cheeky backheel after a cutback from Oduamadi, after some great play by Moses on the left to hold off Phala and skip past a couple of Bafana tackles.
Letsholonyane was set up by Luyolo Nomandela a few minutes later, but he sent his shot over the crossbar.
Nwofor made it 2-0 in the 68th minute with a one-touch goal after some great play by the Super Eagles. Moses skipped past his marker and played in Musa, who cut back to an unmarked Nwofor for a simple tap-in.
Igesund brought on Lerato Chabangu for Letsholonyane on 75 minutes, and he immediately took a shot at goal from outside the box after spotting Ejide off his line, but the ball was just over the bar.
10 minutes from time, Parker came close with a free-kick that beat the wall, but went just over the crossbar.
In injury time, ‘Shabba’ came close, after twisting past a couple of Nigeria defenders, but his shot was saved.
Shortly after, substitute Lebogang Manyama hit a last-gasp low shot on target, but it was inches wide.
South Africa: Khune, Masilela, Nthethe, Mathoho, Hlatshwayo, Letsholonyane (Chabangu 72), Furman, Tshabalala, Parker (Manyama 80), Phala (Nomandela 60), Rantie
Nigeria: Ejide, Oboabona, Echiejile, Ogu, Ambrose, Egwuekwe (Okwuosa 77), Ameobi (Nwofor 46), Oduamadi (Ideye 78), Onazi, Nsofor (Musa 46), Mba (Moses 46)