The White Ferns have slumped to a historic first one-day international series loss against Sri Lanka after defeat in the third match.
After fighting back to level the series in the second game, New Zealand were no match for the hosts in the decider, losing by eight wickets in a rain-affected contest.
Sri Lanka overcame a tough start to chase down a revised target of 196 in 29 overs, with captain Chamari Athapaththu hitting an unbeaten 140.
Earlier, White Ferns batters Suzie Bates and Sophie Devine put on an unbeaten partnership of 74 runs to guide their side to 127/2 before the rain hit.
And after claiming Sri Lanka's first two wickets inside three overs, it looked as if New Zealand's first-innings score would prove to be too many to run down.
In-form pace bowler Lea Tahuhu removed opener Vishmi Gunaratne for a duck with the fourth ball of Sri Lanka's chase.
Before Devine carried her momentum from the bat with the ball, claiming the scalp of No.3 batter Harshitha Samarawickrama three overs later.
But that was as close as New Zealand came to dismissing Sri Lanka, with Athapaththu and Nilakshi de Silva (48 not out) putting on a team-record 190-run partnership.
De Silva hit the winning runs in the 26h over, giving the hosts an eight-wicket win with more than two overs to spare.
The two sides now meet in a three match Twenty20 series with the opener at Colombo on Saturday.
New Zealand 127/2 (Bates 63 not out, Devine 38 not out; Ranasinghe 1/22) Sri Lanka 196/2 (Athapaththu 140 not out, de Silva 48 not out; Tahuhu 1/29)