Samuel Chukwueze opened scoring for Nigeria on 27th minute. Chukwueze was in the right place at the right time to get to the rebound inside the box and gleefully rifled the ball low inside the left post to make it 1-0 for Nigeria.
On 42nd minute, Chukwueze went on a weaving run through the defence and got within shooting range but his effort was blocked.
Oghenekaro Etebo, on 51st minute took a mid-range free kick, but Ronwen Williams stopped the ball from reaching the top left corner by tipping it onto the post, it was a great save.
On 60th minute, a through ball from Ahmed Musa failed to reach Odion Ighalo as one of the defending players reacted brilliantly to intercept the effort. If the pass had been produced a little bit earlier, Ighalo could have gotten into a promising position.
Bongani Zungu made it 1-1 for South Africa on 71st minute. He lashed onto the rebound from a free kick near the penalty spot, and he produced a fantastic header which went inside the right post.
The linesman had ruled out the goal but VAR gave it to South Africa.
On 89th minute, Moses Simon delivered a teasing cross from the resulting corner giving to Nigeria and the ball fell into the space where William Troost-Ekong was lurking. His bullet of a shot from close range went low into the middle of the goal to make it 2-1 for Nigeria.
The Super Eagles will now meet the winner between Algeria and Ivory Coast in the semi-finals.