After stitching a 161-run first-wicket partnership with skipper Dimuth Karunaratne, Lahiru Thirimanne (64) was caught in front of the wickets by William Somerville.
Karunaratne's 122-run knock ensured the victory for Sri Lanka in the last day of the Test match. In the middle-order, Kusal Perera and Angelo Mathews contributed 23 and 28 not out, respectively. Sri Lanka chased down the target 268 easily with a loss of four wickets in the 87th over.
For New Zealand, Trent Boult, Tim Southee, Somerville, and Ajaz Patel took one wicket each.
New Zealand and Sri Lanka will now play in the second Test at Colombo from August 22 to 26.