Jeevan Mendis took three quick wickets as Sri Lanka restricted New Zealand to 131-8 in the fourth one-day international to boost their chances of clinching the series on Saturday.
The leg-spinner finished with 3-15 off four tight overs, including two wickets off successive balls, in the day-night match reduced to 32-overs-a-side due to rain in Hambantota.
Sri Lanka lead the five-match series 2-0 following victories in the second and third matches. The opening one-dayer was called off without a ball being bowled due to rain.
The hosts, who elected to field after winning the toss in overcast conditions, put in an impressive bowling performance and never allowed New Zealand to build a big partnership.
Brendon McCullum top-scored for New Zealand with 30.