Pallekele: Nov 6, 2012
The opener hit 12 fours in his 95-ball knock as Sri Lanka achieved a rain-revised target of 197 with 11 balls to spare in a day-night match reduced to 33-overs-a-side due to rain for a 2-0 lead in the five-match series.
Man-of-the-match Dilshan also upstaged New Zealand opener Bradley-John Watling, who cracked a career-best 96 not out.
"Soon after the toss, I had some pain in the back," said Dilshan.
"The first few overs were a bit difficult. After that the ball was wet and four fielders were outside the circle and we capitalised on that."
Dilshan completed his 14th one-day hundred with a six over deep square-leg off paceman Tim Southee. He received valuable support from Angelo Mathews, who hit seven fours in his 47-ball 54 not out.
The pair added 127 for the unfinished fourth-wicket stand.
The opening one-dayer was called off without a ball being bowled due to rain at the same venue.
"Dilshan showed a lot of maturity. We needed a good partnership. We are trying to give Angelo more opportunities to bat. He's taken more responsibility now at number five," said Sri Lanka skipper Mahela Jayawardene.
Watling, whose previous one-day best was an unbeaten 72 against the West Indies in Jamaica in July, earlier smashed 12 fours in his 88-ball knock to help his team post a competitive total.
Playing his 14th one-dayer, Watling completed his half-century off 70 balls but took just 18 deliveries to score his next 46 with the help of eight fours, including three in an over from paceman Lasith Malinga.
"We were always in the game, but Dilshan took the game away from us. Dew made it tough for the bowlers," said New Zealand captain Ross Taylor.
Watling, who made an impressive 55 in the last match, added 71 for the unfinished seventh-wicket stand with Nathan McCullum (22 not out). James Franklin was the other main scorer with a 25-ball 26.
New Zealand lost an early wicket after being put in to bat as opener Rob Nicol (seven) was caught by Jayawardene in the slips in Malinga's second over.
Sri Lankan seamer Mathews then claimed his 50th one-day wicket when he trapped hard-hitting batsman Brendon McCullum leg-before for 13.
New Zealand were under pressure at 49-4 after losing Taylor (seven) and all-rounder Jacob Oram (two), but Watling and Franklin steadied the innings with a 56-run stand for the fifth wicket.
The tourists made two changes from the side that played the last match, bringing in fit-again Brendon McCullum and Oram in place of Tom Latham and Andrew Ellis. Sri Lanka retained the team.
The fourth one-day international will be played in Hambantota on Saturday.
Brief Scores: New Zealand 188 for 6 in 33 overs (BJ Watling 96*, James Franklin 26, Nathan McCullum 22; Jeevan Mendis 2 for 34) lost to Sri Lanka 200 for 3 in 31.1 overs (Tillakaratne Dilshan 102*, Angelo Mathews 54*; Nathan McCullum 1 for 28) by 7 wickets.
Man of the Match: Tillakaratne Dilshan