Kane Williamson scored his fifth century in eight Tests in 2015 to guide New Zealand to a five-wicket victory over Sri Lanka before lunch on the fourth day of the second Test at Seddon Park in Hamilton on Monday.
The victory gave Brendon McCullum's side a 2-0 series sweep over the tourists after they won the first Test in Dunedin by 122 runs.
"It was definitely hard fought and I thought the improvement of the Sri Lankan side was pretty evident throughout the Test series," McCullum said in a TV interview.
"Credit to Angelo and Sri Lanka for putting us under immense pressure (in Hamilton) and thankfully we were able to withstand it through an innings of sheer quality."
Williamson finished 108 not out, taking his run tally in 2015 to 1,172 -- the most by a New Zealander in a calendar year -- at an average of 90.15.
The hosts reached their victory target of 189 with five wickets down, wicketkeeper BJ Watling finishing unbeaten on 13 alongside Williamson and scoring the winning run with a sweep for a single off Milinda Siriwardana.
Sri Lanka fast bowler Dushmantha Chameera took 4-68 to go with his first innings haul of 5-47.
New Zealand held a slight advantage when they resumed on Monday on 142-5 but both sides had the chance to win the match with Williamson always the player most likely to determine the outcome.
The 25-year-old, whose right knee was heavily strapped during his innings on Sunday, resumed on 78 not out with Watling yet to score having faced the final two balls on day three.
Williamson, however, dominated the strike to dash Sri Lanka's hopes of victory and brought up his 13th Test century when he pulled Chameera behind square for his fifth boundary of the day to move to 102.
The shot moved him to 1,166 runs, surpassing the 1,164 his captain McCullum scored in 2014, as well as reducing the target to 20.
Neither side truly got to grips with the wicket throughout the match as short-pitched bowling produced steepling bounce that resulted in numerous mistimed pull or hook shots to fielders in the outfield.
The hosts capitalised on a spectacular collapse by Sri Lanka on Sunday, when they took all 10 wickets for 62 runs either side of lunch to set up their modest victory target.
"I thought we had a chance," Sri Lanka captain Angelo Mathews said.
"We had them under pressure in the first couple of days but they came back strong (and) in the second innings we made a mockery out of our batting."