South Africa 135 for 4 (Duminy 33*, Williams 2-25) beat Zimbabwe 132 for 7 (Williams 41, Frylinck 2-20, Paterson 2-22) by six wickets
Potchefstroom: Fast bowler Dane Paterson was named man of the match but said the award could have been shared by all South Africa's bowlers as the hosts clinched a Twenty20 series win against Zimbabwe at Senwes Park on Friday.
South Africa took a 2-0 lead in the three-match series with a six-wicket win after restricting Zimbabwe to 132 for seven in their 20 overs. It followed a 3-0 one-day series win.
South Africa's pace bowlers held sway, with Lungi Ngidi, Paterson and Robbie Frylinck each taking two wickets. Andile Phehlukwayo did not take a wicket but conceded only 15 runs in four overs.
Left-arm spinner Tabraiz Shamsi was the only expensive bowler, taking one for 37, with his last over leaking 24 runs, including three sixes by top-scorer Sean Williams, but captain Faf du Plessis said Shamsi had bowled three "really good overs" before being targeted by Williams, who made 41 off 28 balls.
All six of South Africa's batsmen reached double figures and scored at better than a run a ball, with JP Duminy top-scoring with 33 not out. South Africa won with 4.2 overs to spare.
Zimbabwe captain Hamilton Masakadza bemoaned another top-order batting failure.
Williams followed up his batting effort by taking two for 25 while Zimbabwe leg-spinner Brandon Mavuta impressed again, taking one for 29.
Masakadza said Zimbabwe's infrequent international fixtures were a factor, "but it's our fifth game (in South Africa) and we should be coming right."
South Africa made four changes from the side that won the first match by 34 runs in East London on Tuesday and Du Plessis said there would be "more experiments" for the final game in Benoni on Sunday.