Rangana Herath exploited New Zealand's weakness against spin to claim six wickets as Sri Lanka scored a 10-wicket victory on the third day of the first Test in Galle on Monday.
The left-arm spinner finished with figures of 6-43 off 18 overs as New Zealand, trailing by 26 runs, crashed to 118 in their second innings, losing their last nine wickets for 83 runs.
Sri Lanka chased down the 93-run target easily, with debutant Dimuth Karunaratne unbeaten on 60 and Tharanga Paranavitana 31 not out.
New Zealand thus suffered their fifth successive Test defeat this year, having lost two matches each in the West Indies and India earlier.
New Zealand (1st innings): 221
Sri Lanka (1st innings): 247
New Zealand (2nd innings): (overnight 35-1)
M Guptill b Kulasekara 13
B McCullum c Kulasekara b Herath 13
K Williamson c P. Jayawardene b Kulasekara 10
R Taylor lbw b Herath 18
D Flynn b Herath 20
J Franklin st P. Jayawardene b Herath 2
K Van Wyk not out 13
D Bracewell lbw b Herath 0
T Southee st P. Jayawardene b Randiv 16
J Patel c Karunaratne b Herath 0
T Boult c M. Jayawardene b Randiv 13
Total: (all out; 44.1 overs) 118
Fall of wickets: 1-18, 2-35, 3-46, 4-60, 5-70, 6-79, 7-79, 8-96, 9-97.
Bowling: Kulasekara 12-4-28-2, Eranga 4-2-10-0, Herath 18-3-43-6, Randiv 10.1-0-37-2.
Sri Lanka (2nd innings):
T Paranavitana not out 31
D Karunaratne not out 60
Extras: (w-2) 2
Total: (no loss; 18.3 overs) 93
Did not bat: K. Sangakkara, M. Jayawardene, T. Samaraweera, A. Mathews, P. Jayawardene, M. Kulasekara, R. Herath, S. Randiv, S. Eranga.
Bowling: Boult 4-1-15-0 (1w), Bracewell 5.3-0-35-0 (1w), Patel 5-1-22-0, Franklin 3-0-15-0, Williamson 1-0-6-0.
Sri Lanka won by 10 wickets.
Sri Lanka lead two-Test series 1-0.