Sri Lanka restricted New Zealand to 141 for eight and looked to be cruising to victory when opener Tillakaratne Dilshan blazed 57 from 28 balls including eight fours and two sixes.
However, the tourists engineered a sudden batting collapse with all-rounder Jacob Oram claiming figures of three for 33 from his four overs.
Captain Daniel Vettori was also instrumental with a miserly spell of spin bowling in the middle stages of the run chase, taking two for 11 from four overs.
"To lose the game after Dilshan's knock was inexcusable," Sri Lanka skipper Kumar Sangakkara told reporters.
"It was a great pitch but we lost too many wickets and were not able to build the kind of partnerships you need," he added.
Earlier, Ross Taylor top-scored for New Zealand with a stylish 60 from 45 balls including five fours and a six.
Martin Guptill provided support with 29, the pair adding 53 runs for the third wicket.
Pace bowler Lasith Malinga claimed two for 21 and was the most successful Sri Lanka bowler.
The second and final T20 match takes place on Friday.
Vaas dismisses Fleming lbw for fourth time
Sri Lanka expect Malinga to be fit for semi-finals
Pressure Map - Sri Lanka vs New Zealand
Lanka name three uncapped players
Kiwis in two minds over Pak tour