New Zealand were 75-3 after nine of their 24 overs after the start of the game had been delayed by almost five hours before it began at 3.40pm local (0240 GMT) time.
Overnight rain had forced a delay before persistent showers kept players off the ground until umpires Richard Illingworth and Billy Bowden decided a shortened game could begin.
Sri Lanka captain Angelo Mathews won the toss and his bowlers reduced New Zealand to 53-3 in the seventh over with opener Martin Guptill (27 from 14 balls) and Kane Williamson (12) both out, swinging the match in the visitors favour.
Leg-spinner Jeffrey Vandersay, however, struggled to control his grip on the wet ball and Ross Taylor hit three boundaries as the bowler conceded 15 runs in his first over.
Light rain then drove the players off the field at about 4.20pm, with Taylor on 20 and Henry Nicholls on four.
The visitors kept the five-match series alive with a comprehensive eight-wicket victory in the third match at the same venue on Dec. 31, after the hosts easily won the first two games at Hagley Oval in Christchurch.
The fifth match is at Mt. Maunganui on Tuesday. The tour concludes with two Twenty20 internationals on Jan. 7 and 10.