Wellington: Nuwan Pradeep put New Zealand on the back foot by taking two quick wickets as the hosts went to lunch on the third day of the second test on 96 for three, still 39 runs behind Sri Lanka`s first innings.
Kane Williamson was on four, while Brendon McCullum was 14 not out, after Pradeep had dismissed Hamish Rutherford (40) and Tom Latham (35) in quick succession.
Rangana Herath then fooled Ross Taylor with a superbly flighted and paced delivery to bowl him for a duck and leave the hosts floundering at 79 for three.
Rutherford and Latham had resumed on 22 without loss, 113 runs behind Sri Lanka`s 356, and were looking comfortable as they defied the bowlers for the first hour of play.
Rutherford did have some luck when he was caught by Prasanna Jayawardene after a Dhammika Prasad delivery brushed his gloves while he was on 16 but umpire Steve Davis had called a no ball.
Television replays, however, suggested that Prasad had got part of his foot behind the line in his delivery stride, though the Sri Lankans did not ask for the decision to be reviewed.
With New Zealand`s openers looking like they could drive their side through to lunch, Rutherford slashed at a short delivery and the ball flew to Dinesh Chandimal, who had been stationed at third man exactly for that shot.
Latham then fell shortly after when he nicked a Pradeep delivery to Jayawardene with the score on 78 before Taylor was deceived by Herath.
The visitors had seized the advantage on the second day with Kumar Sangakkara stroking a masterful double century, while he also held together four vital partnerships that helped them establish the lead.
Sri Lanka need to win the test to level the two-match series after New Zealand won the first game in Christchurch by eight wickets.