The hosts took a controversial lead in the first minute after Percy Tau’s flicked header in the box came off the inside of the upright.
The strategy paid dividends in the 33rd minute after a quick ball from Itumeleng Khune found Andile Jali who threaded through a delightful ball for Themba Zwane who made no mistake in finding the bottom right corner.
With their confidence back, Bafana pressed forward pace and precision through the attacking trio of Tau, Zwane and Sibusiso Vilakazi.
The visitors were caught napping in the dying minutes on the stroke of half time after a quick ball from Khune landed on the feet of Tau who skilfully back heeled a through ball for Vilakazi who comfortable found the third.
Coming into the second half, Khune’s trademark distribution almost hurt the Stallions again in just the opening minutes of the game after finding Tau whose clever pass found Zwane who sent his shot wide off the mark after beating two defenders.
Vilakazi could also have completed his double when Tau found him in the box but his chip went wide as Bafana Bafana continued to turn on the heat. The Mamelodi Sundowns man was back in the picture again with a stinging shot in the 71st minute that was well saved by the keeper.
Bertand Tarore should have pulled one back for his side in after a finding himself alone in the box from a cross from Prejudice Nakoulma but failed to direct his effort.
Bafana had to complete the match with 10 men after Bongani Zungu was sent off for an off the ball incident.
Having an extra man on the field gave the visitors a bit of confidence as they started pressing forward through the dangerous Alain Traoure and Bertrand Tarore.
The Stallions eventually pulled one back with a brilliantly taken free kick by Tarore in the 85th minute but it was little too late for the visitors as South Africa held on for a precious win.