Hosts South Africa were on the wrong end of a shoot-out result though as they were ousted from the competition by Madagascar, who triumphed 4-3 on penalties after their match finished 0-0.
It means the semifinal line-up is complete, with defending champions Zimbabwe to take on Lesotho, while Zambia will clash with Madagascar. Both of those matches will be played at the New Peter Mokaba Stadium on Wednesday.
Zimbabwe exerted all of the early pressure and took the lead on 39 minutes when the mercurial Khama Billiat played Evans Rusike in on goal and the forward smashed the ball into the top corner of the net.
But Botswana kept plugging away and equalized on the hour-mark as Onkabetse Makgantai moved to the top of the competition’s scorers’ charts with his fourth goal of the 2018 COSAFA Cup.
This time he guided a header into the far post and the ball just trickled out of Zimbabwe goalkeeper George Chigova’s reach.
And the Zebras had a superb chance to take a shock lead when substitute Tumisang Orebonye received the ball 12 yards out, but with the Chigova out of position and the goal at his mercy, he put his shot over the bar.
The match went to a shoot-out and Chigova, playing on his home ground with club side Polokwane City, proved the hero for the Warriors.
Download our app and read this and other great stories on the move. Available for Android and iOS.