The touring side, trailing 1-0 in the series after Sri Lanka won the opener in Galle, reached 196 for four in their first innings, trailing the hosts by 48 runs on a pitch offering sharp turn for the spinners.
Tom Latham injured his finger during a practice session against Australia in Brisbane and is now doubtful to start for his side's first ICC World Cup match against Sri Lanka on June 1.
Latham, who batted beautifully throughout the first day, was out for 137 - his 2nd Test ton in 2 matches.
Azhar Ali dropped Latham at gully after the batsman had reached his hundred and failed to latch on to a sharp chance at silly point off Ross Taylor.
Opener Tom Latham struck his second consecutive hundred to keep New Zealand on course for a big first-innings total.
Download the Indian Express apps for iPhone, iPad or Android