Zimbabwe put into bat first were dismissed inside their quota of 50 overs for 207. The total did not represent a stiff challenge for Sri Lanka who overhauled it in the 46th over, despite losing five wickets.
After Sanath Jayasuriya (47 off 58 balls, 6 fours) and Marvan Atapattu (26) had raised 66 for the first wicket in 14 overs, Arjuna Ranatunga steered his side to victory with an unbeaten 58 off 79 balls - his 42nd one-day fifty.
The Sri Lanka captain finished the match off with a six, over mid-wicket off left-arm spinner Grant Flower, to take the 'Man of the Match' award. Overall, he had two sixes and four fours.
The Zimbabwean were always struggling for runs after losing two early wickets for seven runs in six overs to fast bowler Ravindra Pushpakumara.
Guy Whittall made a top score of 52 off 70 balls with seven fours, and there were useful contributions from Grant Flower (40 off 61 balls), Craig Wishart (41 off 39 balls) and skipper Alistair Campbell (36 off 58 balls). But overall, it was far from a match-winning total.
Chandana, who started with an unsuccessful spell of three overs for 16 runs, took four wickets for 15 runs in 28 balls after changing ends, to put Sri Lanka on top.
Chandana's previous best figures were 4 for 35 against Australia at the R. Premadasa stadium in 1996-97.
The two sides meet in the second one-day international at the R. Premadasa stadium on Saturday. The third and final match takes place at the SSC on Monday.