Cape Verde beat South Africa 2-1 in the 2018 FIFA World Cup Qualification Group D match at the Moses Mabhida Stadium in on Tuesday.
As a result, the Blue Sharks completed a double over Bafana Bafana and they moved to the top of Group D table, while Bafana Bafana slip down to position four.
The first real chance of the encounter fell for Bafana Bafana striker Tokelo Rantie nine minutes into the encounter.
However, the Turkey-based marksman placed his effort wide of the target without troubling Cape Verde goalkeeper Vozinha.
South Africa shot-stopper Wayne Sandilands was called into action four minutes before the half-hour mark.
The 34-year-old made an easy save to deny Cape Verde's talisman Ryan Mendes as the visitors looked to break the deadlock.
The Blue Sharks defence was then exposed in the 42nd minute, but Bradley Grobler fired straight into Vozinha's hands.
The score was 0-0 between South Africa and Cape Verde at half-time following a tightly contested first-half in the city of Durban.
An entertaining second-half followed and the visitors broke the deadlock six minutes into the second-half.
Garry Rodrigues scored with a powerful shot from a free-kick - beating Sandilands hands down - making it 1-0 to Cape Verde in the process.
It was soon 2-0 to Cape Verde six minutes after the hour-mark following a good move by the visitors.
Galatasary midfielder Rodrigues beat his marker and he unleashed a long range effort which beat Sandilands to double his side's lead.
South Africa dominated in the closing stages of the match and they managed to pull one back through Andile Jali's low shot.
But Cape Verde stood firm in the closing stages of the match and they secured a 2-1 win over South Africa.
South Africa (0) 1 (Jali 89')
Cape Verde (0) 2 (Rodrigues 51', 66')
South Africa XI: Sandilands, Gould, Hlatshwayo, Hlanti, Mphahlele, Furman, Kekana (Tau 77'), Zwane (Manyama 56'), Dolly, Grobler (Jali 65'), Rantie.
Cape Verde XI: Dias, Tiago, Pereira, Santos, Da Cruz, Rodrigues (Admar 94'), Soares, Rocha, Carlos, Mendes (Totti 85'), Tavares (Platini 77').