Kermit Erasmus and Dean Furman scored in the first half and Bernard Parker netted a brace after the break, but ultimately it was all to no avail.
The hosts started off like a team with something to prove and completely dominated their opponents in the opening exchanges.
Kagisho Dikgacoi came close twice in the space of seconds as he broke through from midfield and forced Kabelo Dambe into a double save – the second a great one-handed effort from close-range.
On 18 minutes Siphiwe Tshabalala came close with a free-kick which just shaved the crossbar, but the goal did eventually come just before the half-hour mark. Parker’s flick-on from a corner was headed in at the far-post by Erasmus for his first senior goal for his country.
Three minutes later and Dambe was again at his best to deny Parker with a diving one-handed save after Tokelo Rantie had found the Kaizer Chiefs man unmarked in the box.
That second goal did eventually come though when, in injury time, Furman ran onto Parker’s brilliant through-ball and shot across the keeper and into the back of the net.
So at halftime everything was going Bafana’s way as CAR were also leading Ethiopia 1-0.
The South Africans started the second half with the same intensity as they ended the first, but gradually the Zebras were starting to find their feet.
However, in Congo it was going pearshaped as Ethiopia first equalised and then took the lead. And to add to Bafana’s woes, Botswana then scored through Jerome Ramatlhakwane – a fine header after getting the better of Bongani Khumalo.
Bafana hit back with two goals in quick succession – both from Parker. The first was a beautiful free-kick after a foul on the edge of the area, and the second a penalty after substitute Daine Klate was brought down.
However, there was to be no joy for Gordon Igesund in Congo as Ethiopia hung on for the win – the points dropped earlier in the campaign coming back to haunt Bafana …
Bafana starting XI: Khune, Ngcongca, Khumalo, Nthethe, Matlaba, Dikgacoi (Jali 66th), Tshabalala (Klate 88th), Furman, Parker, Rantie, Erasmus (Zungu 57th)
Botswana starting XI: Dambe, Motlhabankwe, Gabonamong, Thuma, Olerile, Mogorosi, Nato, Mothatego, Ngele, Moyana, Ramatlhakwana