South Africa delighted the home crowd with their third victory in as many games against Zimbabwe at the Baseball Africa Cup in Johannesburg.
They thrashed Zimbabwe 16-1 at the Boksburg City Stadium to finish top of the round-robin group.
Uganda then defeated Burkina Faso 21-15 in a match that lasted three hours and 48 minutes to place second in the group.
The semi-finals will take place tomorrow, with South Africa meeting Burkina Faso, a clash they had previously won 18-3.
Uganda will take on Zimbabwe, with the previous fixture ending 15-0 to the former.
Six teams had originally been supposed to take part in the tournament, but Nigeria and Kenya withdrew.
The winner will be given a place at the World Baseball Softball Confederation (WBSC) Baseball Europe-Africa qualifying event for the Tokyo 2020 Olympic Games, taking place in Italy from September 18 to 22.
Baseball is returning to the Olympics in 2020 after a 12-year hiatus.