Colin de Grandhomme and BJ Watling made contrasting half-centuries on another rain-affected day in Colombo to give New Zealand a fighting chance of drawing the Test series against Sri Lanka.
The Black Caps were unable to set about trying to build a healthy lead when the morning session on day four was washed out at P Sara Stadium.
Tom Latham fell for a magnificent 154 after he and Watling took the tourists beyond Sri Lanka's 244 all out before De Grandhomme made up for the lost time by smashing 83 not out from only 75 balls.
The all-rounder struck five sixes and as many fours as the Sri Lanka bowlers toiled, with Watling (81no) steadily accumulating as the Black Caps closed on 382-5 - leading by 138.
Captain Dimuth Karunaratne will not be able to come in until at least number seven on the last day after going off the field with a small quad tear, while Niroshan Dickwella's finger injury will also be a concern for Sri Lanka.
Latham edged the first ball of the day from Lahiru Kumara for four when play finally got under way and Watling brought up a hard-earned half-century with a single off Lasith Embuldeniya.
A sweep from Latham in the same over took him to 150, but the opener was on his way soon after raising his bat again, Dilruwan Perera trapping him leg before wicket.
De Grandhomme was aggressive from the start of his swashbuckling knock, dispatching Embuldeniya over mid-off for six before Lahiru Thirimanne failed to take Watling at short leg.
Watling continued to tick along as De Grandhomme teed off, taking 16 off three balls from the expensive Embuldeniya (1-125) and also giving Kumara the treatment.
The pair had put on 113 for the seventh wicket when stumps were called due to bad light.