Captain Siphiwe Tshabalala converted a late first-half free-kick to put Bafana Bafana ahead, while Tokelo Rantie and Mzikayise Mashaba hit second-half goals.
Since defeating Burkina Faso by the same score in a friendly last August, South Africa have lost to Niger and Zimbabwe and drawn with Sierra Leone, Côte d'Ivoire, Equatorial Guinea, Senegal, Ethiopia and Botswana.
The home draw with Ethiopia in a 2014 FIFA World Cup Brazil™ qualifier two weeks ago led to manager Pitso Mosimane being sacked and assistant Steve Komphela being appointed as caretaker coach of the 2013 CAF Africa Cup of Nations hosts.
Komphela, who led unfashionable Free State Stars to a top-eight finish in the South African Premiership last season, is among five candidates to succeed Mosimane. Fellow local coaches Gavin Hunt, Gordon Igesund, Ephraim 'Shakes' Mashaba, and 1996 Cup of Nations-winning captain Neil Tovey were interviewed Thursday and Komphela will meet a South African Football Association panel next week.
Igesund has guided four clubs to the Premiership title and transformed Moroka Swallows from relegation candidates to league runners-up last season. But 44-year-old former national team captain Komphela did his chances no harm as his experimental team, lacking captain and Tottenham Hotspur midfielder Steven Pienaar displayed clinical finishing.
After finding the net only five times in the eight winless outings, it took South Africa 42 minutes to finally make a breakthrough against their opponents. Tshabalala lifted the ball over a defensive wall with his free-kick and into the near corner of the net beyond goalkeeper Didier Ovono.
A superb through ball from substitute Thulani Serero sent Rantie clear on 68 minutes and he hammered the ball across the goalkeeper and into the far corner to the delight of fans wrapped up against the winter cold.
Substitute Mzikayise Mashaba claimed the third goal eight minutes later by bursting past a defender and then delicately chipping the ball over Ovono to complete the best Bafana Bafana showing for some time.