Chasing 160, Sri Lanka started off on a bad note by losing their opener in the very first over of the innings.
Dhananjaya de Silva was sent back to the pavilion by Brian Vitori with just one run on the board which came through a wide.
Kusal Perera (14) and Niroshan Dickwella (16) also failed to step up to the occasion and were sent back by Vitori -- the scoreboard read 42/3 in seven overs after Dickwella fell.
Kusal Mendis (57) and Upul Tharanga (57 not out) then forged a 75-run partnership for the fourth wicket before Mendis was dismissed by Graeme Cremer in the 28th over.
The fall of Mendis's wicket brought in Asela Gunaratne who, along with Tharanga, figured in a 49-run partnership to take Sri Lanka home.
For Zimbabwe, Vitori scalped three wickets while Cremer took one wicket.
Earlier, Zimbabwe were bowled out for 160 in 37 overs. Tarisai Musakanda (36) and Sean Williams (35) were the top scorers.
Nuwan Kulasekara, Dasun Shanaka and Jeffrey Vandersay took three wickets for the visitors.
Zimbabwe 160 (Musakanda 36, Williams 35, Gunaratne 3-10, Vandersay 3-50) vs Sri Lanka 166/3 (Kusal Mendis (57), Upul Tharanga (57 not out), Brian Vitori 3/52).
(This story has not been edited by Business Standard staff and is auto-generated from a syndicated feed.)