Sri Lanka pulled off a wonderful chase against New Zealand at Pallekele on Tuesday to win the third ODI by seven wickets, thanks to a glittering century from Tillakaratne Dilshan.

The veteran opener scored 102 not out off 95 balls as the Lankans chased 197 to win in 33 overs, the target adjusted from 188 thanks to Duckworth-Lewis and two rain delays.

Angelo Mathews was the supporting partner in the 127-run unbeaten stand, scoring 54 not out as they won the match with two overs to spare, sadly nullifying BJ Watling's wonderful 96 not out from earlier in the day.

The Black Caps' innings was interrupted by lengthy rain delays, the first removing four overs to make in 48 per side, before another break saw the overs reduced to 33 per side. By this stage there were only players and broadcasters in the stadium.

The Kiwis lost four wickets for less than 50 runs after a slow start, with Rob Nicol first to fall with the score on nine. Brendon McCullum, back in the side after a back injury, scored only 13 before going out, and then the rain arrived again.

Skipper Ross Taylor was run out by Jeevan Mendis soon after the second resumption, leaving Watling in the middle on 14, and Jacob Oram the new man in with 18 overs to go and the score on 43.

Oram was unlucky to be given out with the score on 49, as the umpire lifted the finger for an LBW, but the ball had pitched outside leg stump. Mendis celebrated anyway though, as James Franklin came to the middle to see if he could play a rescuing knock.

The Lankans could have made life a lot easier for themselves had they taken all their catches. Mathews put down two simple caught and bowled's in one over before the rain arrived, and then Lasith Malinga grassed Franklin in the 22nd over.

Watling and Franklin, sounding like an American law firm, soon recorded a fifty partnership, going aggressively against the home bowlers. Franklin hit the fist six of the innings of Thisara Perera in the 23rd over, as he went at better than a run a ball.

The all-rounder's knock was not long for the world though, as he was clean bowled by Nuwan Kulasekara with his score on 25, leaving Watling to blood a new partner as he sat just shy of his half century, the score on 105.

Watling recorded his third consecutive fifty against Sri Lanka in the 27th over, needing 70 balls to reach it, striking only four boundaries in his knock. Kane Williamson was only there long enough to congratulate his partner before being caught at long on for five in the same over.

Nathan McCullum joined Watling and they pushed the scoring rate as much as they could, but Malinga was having none of it and kept his overs as tight as possible, sending in his trademark death yorkers.

Watling continued his superb knock, and recorded the best score by a Kiwi against the Lankans in Sri Lanka when he passed 80 in the penultimate over. He struck Malinga for three boundaries in a row in that over.

The final over off Kulasekara went for 14 runs as they ended the knock in style, with Watling just four runs short of his ton and McCullum on 22 off 18 balls.

The Lankan chase got off to a solid but unremarkable start, with Upul Tharanga falling with the score on 30 in the fifth over. They needed to go like the clappers, and they did so, led by Dilshan.

Mahela Jayawardene and Kumar Sangakkara were unable to contribute meaningfully to the score, both falling for low scores, but Mathews came and took up the challenge alongside Dilshan when the score was 73 for three.

The duo raced along at T20 rates, punishing any lose deliveries to come their way, and with 40 balls to go, they needed just 39 runs.

At that point, Dilshan had long passed his half century and Mathews was in his 40s, and it looked like a miraculous chase would be pulled off in front of a mostly empty stadium.

Veteran Dilshan brought up his century in the penultimate over, blasting Tim Southee for a four and a six, while Mathews had also passed a milestone to reach 54 not out.

Sri Lanka: Tillakaratne Dilshan, Upul Tharanga, Kumar Sangakkara, Mahela Jayawardene, Angelo Mathews, Lahiru Thirimanne, Jeevan Mendis, Thisara Perera, Nuwan Kulasekara, Rangana Herath, Lasith Malinga

New Zealand: Rob Nicol, Brendon McCullum, Ross Taylor, Kane Williamson, James Franklin, BJ Watling, Nathan McCullum, Kyle Mills, Jacob Oram, Tim Southee, Trent Boult