After a brief rain delay, Sri Lanka Captain Lasith Malinga won the toss elected to bat first in overcast conditions before a boisterous Kandy crowd.
The home team went on to post 174 for 4 in 20 overs with Kusal Mendis making 79 off 53 and Niroshan Dickwella scoring a solid 33 off 25 deliveries.
Although New Zealand top order was removed cheaply, Colin de Grandhomme and Ross Taylor took the game away from the Lankans with some calculated hits.
The duo hit 44 and 48 respectively with rain making a brief stopover in Kandy. The visitors went on to complete the chase in 19.3 overs much to the disappointment of the capacity crowd in Kandy.
Skipper Malinga picked up 2 for 23 and in doing so also became the highest wicket-taker in T20I cricket, surpassing Shahid Afridi of Pakistan who had taken 98 scalps.
The penultimate match of the Sri Lanka-New Zealand T20 series gets underway on Tuesday at the same venue.