Ross Taylor hit an unbeaten half-century to keep New Zealand afloat after Sri Lanka spinner Akila Dananjaya claimed five wickets on a rain-hit day one of the first Test on Wednesday.
New Zealand were 203 for five, having recovered from 71-3 at lunch, when rain stopped play for the day in the final session in Galle with Taylor batting on 86.
Dananjaya, bowling with a remodelled action after being reported for a suspect action last year, stood out with his fourth five-wicket haul.
The mystery spinner took three early wickets including skipper Kane Williamson for nought before Taylor put on 100 runs for the fourth wicket with Henry Nicholls.
Dananjaya, who was overlooked for Tests in New Zealand, Australia and South Africa, trapped Nicholls for 42 to break the century stand and then got BJ Watling for one to make New Zealand slip further.
Taylor handled pace and spin with aplomb as he registered his 31st Test fifty and had no problems picking up Dananjaya, who mixed up his deliveries to outfox the batsmen.
Taylor registered the highest score by a Kiwi batsman in a Test match at Galle, surpassing the 69 by Tim McIntosh. New Zealand have struggled at this venue having lost all three previous Tests.
Earlier, openers Jeet Raval and Tom Latham put on 64 runs before Dananjaya struck on a pitch that is already offering big turn.
Latham was the first to go after being caught behind for 30 as Dananjaya got the left-handed batsman to poke at a delivery that was turning away.
Williamson fell three balls later when he flicked one straight into the hands of his opposite number Dimuth Karunaratne at short midwicket.
In the last over before lunch, Raval failed to pick a googly and was caught at first slip by Dhananjaya de Silva for 33.
Both Sri Lanka and New Zealand are playing their first match of the World Test Championship, which has nine top teams competing for supremacy in the five-day format.
Play was stopped at 3.42 pm (10.12 GMT) local time due to rain and half an hour later was called off with 22 overs lost in the day. Play will resume early on Thursday.