Opener Tillakaratne Dilshan hit 102 not out as Sri Lanka beat New Zealand by seven wickets on the Duckworth/Lewis method in a rain-affected third one-day international on Tuesday.
Sri Lanka now leads 2-0 in the five-match series after the match was reduced to 33 overs per side at Pallekele International Stadium. The first ODI was washed out.
Dilshan hit 12 boundaries and a six in 95 deliveries to help chase down the formidable, revised target of 197. He and Angelo Mathews, who scored an unbeaten 54, put on 127 in an unbroken stand for the fourth wicket after Sri Lanka had lost 73-3 in its chase.
Dilshan's 14th ODI century, which he brought up with a six off seamer Tim Southee, overshadowed a career-high score of 96 not out for BJ Watling as he led New Zealand to 188-6 after the visitors were sent in to bat.
"Dilshan took the game away. We were always in the game. Dew made it tough for the bowlers," said New Zealand captain Ross Taylor.
Sri Lanka captain Mahela Jayawardene said conditions suited his players when they batted because of dew on the field.
"Dilshan showed lot of maturity and guided Angelo," he said. "We needed a good partnership after the three wickets. I was not too worried."
Sri Lanka lost opener Upul Tharanga for 10 with the total on 30, caught by Jacob Oram in trying to fend off a bouncer from Southee.
Kumar Sangakkara then pulled hard at seamer Kyle Mills on 15 and Taylor took a sharp catch at third-man.
Jayawardene, who was instrumental in Sri Lanka's 14-run win in the second ODI on Sunday with an unbeaten 43, was out caught by Oram off spinner Nathan McCullum for 5.
Watling hit 12 boundaries in 88 deliveries for his second straight half-century on tour. He shared a quickfire 71-run partnership in six overs with No. 8 batsman Nathan McCullum (22 not out) as the Kiwis scored 100 runs in the last 10 overs. James Franklin scored 26 in a 56-run stand with Watling after New Zealand had been 49-4.
Watling's previous best was an unbeaten 72 against West Indies in July. He made 55 last Sunday in a match won by Sri Lanka on the Duckworth/Lewis method .
Fast bowler Lasith Malinga struck early in New Zealand's innings, having Rob Nicol caught at slip by Jayawardene with the total on 9.
Brendon McCullum, who sat out the last match with an injury, was trapped lbw for 13 by Mathews.
New Zealand's batting was also frustrated by the rain interruptions. A complete match has yet to be played on tour, with only 16 overs of play possible in the sole Twenty20 match and the first ODI being abandoned without a ball being bowled.
Taylor was run out for 7 to a sharp direct hit by Jeevan Mendis, and when Oram was trapped lbw on 2 trying to reverse sweep, the Kiwis slumped to a precarious 49-4.
Watling and Franklin then laid a strong foundation for a late assault. Watling made 50 off 70 balls, then 46 off 18.
Nathan McCullum hit two sixes in an 18-ball 22 not out.
Legspin bowler Jeevan Mendis returned Sri Lanka's best bowling figures with 2-34.