After a long day in the field, Sri Lanka lost Dilshan, Sangakkara and Jayawardene to slump to 43 for 3 by stumps on day two.
Colombo: New Zealand followed their best batting performance in Sri Lanka since 2003 by nipping out three big wickets before the close of play on day two at the SSC on Monday.
New Zealand's first-innings total of 412 was their fourth best on Sri Lankan soil - the highest was 515 for 7 in 2003 - and after a long day in the field, the home side lost Tillakaratne Dilshan, Kumar Sangakkara and their captain Mahela Jayawardene to slump to 43 for 3 by stumps.
New Zealand's total - just the fifth time they crossed 400 in Sri Lanka - was driven by centuries to skipper Ross Taylor (142) and Kane Williamson (135) who put on 262 after the team had slipped to 14 for 2 on Sunday morning.
Taylor began the day on 119 before he became the first of left-arm spinner Rangana Herath's six wickets, out lbw, and 14 runs later Williamson was also trapped in his crease. Herath's strikes sparked a collapse from 272 for 2 to 300 for 6, but Daniel Flynn (53), Doug Bracewell (24) and Jeetan Patel (25) battled to get the score past 400. Following a Man-of-the-Match performance in Galle where he had match figures of 11 for 107, Herath picked up 6 for 103 to cross 50 wickets for the year in just his eight Test.
Tim Southee led a remarkable start for New Zealand with the ball. Dilshan was bowled for 5 in the third over of Sri Lanka's reply, and then two balls later Sangakkara was caught by Trent Boult at fine leg when miscuing a pull shot. Southee's double-wicket over was followed by Boult having Jayawardene drive to the fielder at gully for 4. At 12 for 3, Sri Lanka were reeling.
Angelo Mathews (20*) and opener Tharana Paranavitana (9*) kept New Zealand at bay until the close. Sri Lanka trail by 369 runs.