They followed the Sri Lanka score of 171 for seven in the allocated 28 overs following morning rain with 166 for seven to lose by only five runs.
This gave the tourists a 3-0 series victory at Harare Sports Club.
With 10 runs to get in the last over Zimbabwe managed only four. After much debate the Sri Lankans decided that Muttiah Muralitharan should be called upon to prevent it, and he duly succeeded.
Zimbabwe's sudden emergence from the depths of batting failure was highlighted by their opening batsmen Hamilton Masakadza and Vusi Sibanda passing the 67 runs innings total Zimbabwe made on the second ODI on Saturday.
And they lost only one wicket in going past 124, their total in the first ODI on Thursday.
Masakadza was their top scorer with 77 in 71 balls (seven fours and two sixes).
Sri Lanka's total after being put into bat was modest.
Kumar Sangakkara top scored for the second time and he recorded the first half-century of the tour.
He has now reached a caree