Veteran Nathan Astle was in blistering form with an unbeaten 40 off 37 balls, hitting the winning run with nine balls remaining.
Sri Lanka never fired after being sent into bat first on Tuesday, falling 10 balls short of their allotted 20 overs as their innings came to a halt at 115.
It then became a formality for New Zealand to reach the 116 required for victory, a target they achieved for the loss of five wickets.
Brendon McCullum and Stephen Fleming started the run chase at a rollicking pace, reaching 51 by the sixth over when Fleming drove at Dilharo Fernando and was caught by Chamara Kapugedera at point for 17.
Kapugedera ran out McCullum for 28 to put the brakes on the New Zealand scoring until Astle opened up, taking 15 off the penultimate over by Ruchiro Perero to level the scores.
In the next over, Astle sneaked a single of the third ball by Tillakaratne Dilshan to wrap up proceedings.
The tone of the game was set with the very first ball of the game when television technology detected Upul Tharanga edge James Franklin to wicketkeepr Peter McGlashan.
It was such a faint edge that the players did not even appeal, not that it mattered much as Franklin bowled Tharanga two balls later.
By the 10th over, Sri Lanka were in deep trouble at 58 for six and if it was not for a tail-end bash by Lasith Malinga and Fernando their innings may well have ended much earlier.
Malinga's 27 came from 19 balls and Fernando hit 21 from 14, whacking 44 in four overs for the ninth wicket before Fernando mishit an Astle full toss and was caught by Andre Adams on the deep mid-wicket boundary.
Franklin was the most successful of the New Zealand bowlers with three for 23, while for Sri Lanka Fernando backed up his fine knock with the bat by taking three for 19.
Sri Lanka won the rain-affected first match in Wellington on Friday by 18 runs on the Duckworth-Lewis calculation method.
The two teams play the first of five one-day matches in Napier on Thursday.
Sri Lanka 115 all out in 19.2 overs (Malinga 27, Fernando 21; James Franklin 3 for 23) lost to New Zealand 116 for 5 in 19.3 (Nathan Astle 40 n o, Brendon McCullum 28, Fleming 17; Fernando 3 for 19)