Openers Vusi Sibanda and Hamilton Masakadza both hit half-centuries as Zimbabwe stunned South Africa with a 29-run win in their Twenty20 international in Harare.
The pair put on 114 for the first wicket in the third match of the triangular series as the hosts posted 176 for four.
And Chris Mpofu and Graeme Cremer then took three wickets apiece as Zimbabwe dismissed their opponents for 147 with four balls to spare.
The victory made it two wins out of two for Zimbabwe in the series after their opening success over Bangladesh.
They started strongly and Masakadza made 55 off 54 balls before he fell to Robin Peterson, Colin Ingram taking the catch.
Sibanda went two overs later for 58 off 65 as he was caught by Lonwabo Tsotsobe off the bowling of Wayne Parnell.
Brendan Taylor added a quickfire 35 off 29 with three fours and two sixes, with Parnell picking up his second wicket to dismiss Elton Chigumbura for a duck.
South Africa's reply started well, despite the loss of Hashim Amla for 20, and they looked comfortable at 74 for one in the ninth over.
But they lost Richard Levi for 40 before Cremer took centre stage by dismissing Justin Ontong (four), Dane Vilas (nought) and JP Duminy (six) to leave South Africa on 91 for five.
Ingram top-scored with 48, but with numbers four to 11 contributing just 40 in total, Zimbabwe closed out victory with room to spare.