South Africa was kept to a mediocre total of 231 at Harare Sports Club but was saved by its bowlers as Zimbabwe's batsmen succumbed under the pressure.
     
Sean Williams made 46 for Zimbabwe in the middle order but was the only Zimbabwean to threaten South Africa's attack. He was furious with himself for his error when he was caught by Hashim Amla off McLaren with the score on 138-5. Zimbabwe collapsed after that.
     
McLaren finished with 3-24 and Steyn 3-36 to take South Africa to two wins from two in the tournament after beating top-ranked Australia on Wednesday.
     
Zimbabwe had a good chance of a first win in the series after spinner Prosper Utseya took a hat trick in his 5-36 to restrict the Proteas at Harare Sports Club.
     
But Steyn, McLaren and two valuable wickets from left-arm spinner Aaron Phangiso meant Zimbabwe didn't come close to the target and took South Africa to the top of the three-team standings. Australia plays Zimbabwe in the next game on Sunday.
     
Utseya's career-best return in ODIs had given the home team a good chance of a first victory over South Africa in 14 years.
     
South African openers Hashim Amla (66) and Quinton de Kock (76) both made half-centuries in a 142-run opening stand before Utseya intervened, taking the first five wickets including De Kock, Rilee Rossouw and David Miller in consecutive deliveries.
     
It was the second hat trick by a Zimbabwean in ODIs after Eddo Brandes against England in 1997 at the same Harare ground and Utseya celebrated by falling onto his back and kicking his feet up in the air as teammates mobbed him.
     
Utseya is also on report over a suspected illegal action but is allowed to bowl pending tests.

Latest News from Sports News Desk