New Zealand registered their first Test win in Sri Lanka for 14 years on Thursday, finally dismissing the defiant Angelo Mathews to level the series 1-1 in Colombo.
The Kiwis bowled Sri Lanka out for a second innings total of 195 in the last session of the fifth and final day at the P Sara Oval to win the second and final Test by 167 runs.
All-rounder Mathews offered dogged resistance, top-scoring with a fighting 84 that included one six and 11 fours before he was the last man dismissed after facing 228 balls.
New Zealand, who had lost five successive Tests before the match, put in an improved all-round show in Colombo, posting 412 in the first innings and their bowlers, especially the pacemen, delivered in both innings.
"It is always good to come overseas and win. The bowlers were brilliant and they set it up," said New Zealand captain Ross Taylor, who was named man of the match for his 142 in the first innings.
"I guess we got a lot of stick last week for our performances, but we stuck to our task and fought hard. We took our catches and fielded pretty well."
The tourists tightened their grip on the match on Wednesday when they reduced the hosts to 47-4, but had to work hard for their win on a fifth-day wicket that held few terrors for batsmen.
New Zealand took just one wicket in the morning session and two in the post-lunch period before completing the job with the second new ball after tea.
Fast bowlers Trent Boult and Tim Southee each finished with three wickets, while paceman Doug Bracewell took two and debutant leg-spinner Todd Astle one.
"Credit to the New Zealand team as they played really well and we were always behind. This series has been good and tough at the same time," said Sri Lanka skipper Mahela Jayawardene.
"They scored well in the first innings and we didn't do that. Their bowlers kept asking questions and kept the pressure up. We need to improve against the new ball when we go to Australia (next month)."
Astle provided the crucial breakthrough in the afternoon when he had Prasanna Jayawardene (29) caught behind from a delivery that turned and bounced for his first Test wicket.
Jayawardene was involved in a defiant 56-run stand for the sixth wicket with Mathews.
Boult, who took four wickets in the first innings, had lower-order batsman Suraj Randiv caught by Martin Guptill at second slip and ended the innings with the wicket of Mathews, caught by the same fielder in the slips.
Mathews and wicket-keeper Jayawardene took no risks during their stand after Sri Lanka lost the big wicket of Thilan Samaraweera in the opening hour – run out after a mix-up with Mathews.
Samaraweera, who top-scored in the first innings with 76, had added just six to his overnight one.
Sri Lankan left-arm spinner Rangana Herath was named man of the series for taking 20 wickets.
The hosts won the opening Test by 10 wickets in Galle.