COSAFA Cup hosts, South Africa were dumped out of the tournament after wasting a 2-nil advatntage against the Zebraa of Botswana.
Bafana Bafana went on to lose 5-4 in penalty shoot-outs.
After a relatively quiet opening, Bafana were in front after 19 minutes through a cool finish from Luther Singh after defenc-splitting pass by Teboho Mokoena.
While Botswana attempted a comeback, Bafana struck again on 28 minutes when Grant Margeman fired into the far corner after being teed up Kabelo Mahlatsi.
The Zebras pushed forward on 35 minutes and forced Bafana shot-stopper Reyaad Pieterse into a double save following efforts from Joel Mogorosi and Thero Setsile.
Bafana struggled to settle in at the resumption of the second half, as their counterparts pumped bodies into the final third.
The Zebras halved the deficit on 61 minutes when Lebogang Ditsele found space to head past Pieterse following a corner.s.
Heading in the final eight minutes, Mokoena’s dipping free-kick from outside the area produced Ezekiel Morake into a finger-tip save.
Botswana sent the match to a penalties when Thathayaone Ditlhokwe headed home a corner in added time.
As both sides successfully converted their first four kicks, Mokoena failed to beat Morake which allowed Mothusi Johnson to convert the winning kick for Botswana.
Botswana will meet Lesotho in the main semis while South Africa will play Uganda in the plate semi finals.
Teams:
South Africa: Pieterse, Mohamme, Mthethwa, Frosler, Malepe, Mokoena, Dlala, Mahlatsi, Margeman, Singh, Jordan.
Subs: Cupido, Links, Dickens, Makgalwa, Webber, Mukumela, Johnson, Lepasa, Sam, Mbule, Sekgota, Mpoto.
Botswana: Morake, Ditlhokwe, Gaolaolwe, Leinanyane, Setsile, Baruti, Boy, Johnson, Thulare, Mogorosi, Ditsele.
Subs: Orebonye, Mohutsiwa. Kobe, Ramatlapeng, Mabaya, Cooper, Bosekeng, Makopo, Malapela.