Earlier legspinner Jeevan Mendis took a career-best 3-15 to limit the Kiwis to a meagre total of 131-8 after the match was reduced to 32 overs because of rain at Mahinda Rajapaksa Stadium.
Sri Lanka scored 131-3 off 26.2 overs, reaching the target of 131 calculated under the Duckworth/Lewis method with more than five overs to spare.
The win gives Sri Lanka an unassailable 3-0 lead in the five-match series with one match left. The first match was abandoned due to rain without a ball being bowled and a full match has yet to be completed in this series.
Chandimal made 43 while Sangakkara was unbeaten on 42.
The pair joined up when Sri Lanka lost their first wicket at 36. Upul Tharanga, who showed promise, was caught for 27 by Rob Nicol off seamer Tim Southee.
Chandimal faced 65 deliveries and hit four boundaries, and Sangakkara hit a six and five boundaries off 55 deliveries.
Sri Lanka captain Mahela Jayawardene said he was lucky to win the toss and praised the bowlers for making full use of that advantage.
“Batting under lights here was going to be tough, but both Kumar and Chandy (Chandimal) batted very well and put up a decent partnership,” Jayawardene said.
“Kumar was disappointed that he missed out in the last two innings (scoring 11 and 15), but he made up today.”
Seam bowlers Andrew Ellis, Trent Boult and Southee picked up a wicket each for New Zealand.
The match was initially reduced to 42 overs as rain started soon after the toss and a further 10 overs were cut because of a second rain break during the New Zealand innings.
Sri Lanka captain Jayawardene won the toss and put the Kiwis into bat with the hosts taking regular wickets. Brendon McCullum was the highest scorer for New Zealand with 30.
Seamer Nuwan Kulasekara (2-17) produced the breakthrough for Sri Lanka when he had Kiwi opener Nicol caught by Tharanga for 11 with the total on 16. BJ Watling, who hit an unbeaten 96 in the 3rd ODI, was run out trying to steal a second run. He made 15.
McCullum looked promising before being caught by Chandimal in the deep off left-arm spinner Rangana Herath.
Captain Ross Taylor (6) slashed at a wide delivery from Thisara Perera and edged the ball to wicketkeeper Sangakkara.
Mendis bowled Kane Williamson (21) and Nathan McCullum (0) with successive googlies. He later trapped Ellis lbw without scoring to finish with his best bowling in one-day international cricket.
Taylor said Sri Lanka put them under pressure from the start.
“We are so close in these games and we are taking positives from this game. Our bowlers bowled very well. We hope to at least get a win and avoid 4-0,” he said.
The final one-day international is at the same venue on Monday.