Sri Lanka were in trouble at stumps on day two of the second Test in Colombo, after Tim Southee took two quick wickets to reduce the hosts to 43 for three, still 369 runs behind the Black Caps' score.
The Kiwis recorded only their second score over 400 this year, going all out for 412 thanks to another six-fer by Rangana Herath. Centuries from Ross Taylor and Kane Williamson were the main factors in the score, though Daniel Flynn added a gritty 53.
At the end of the day, Tharanga Paranavitana (9) and Angelo Mathews (20) were in the middle, after the three senior players, namely Mahela Jayawardene, Tillakaratne Dilshan and Kumar Sangakkara, were dismissed cheaply.
In the morning session, spinner Herath ruined New Zealand's good mood after they started the day on 223 for two, getting rid of Taylor and Williamson after they'd both recorded centuries.
Herath trapped both batsmen LBW as they tried to sweep him, making sure the Kiwis were five down at lunch for 298 runs. It was easily Sri Lanka's session as Kruger van Wyk also departed.
Taylor had recorded his ton the day before and was eventually out for 142, but Williamson needed five more runs to reach his third Test century. He struggled for a while in the 90s, but eventually pushed past the triple figures to make 135 off 305 balls.
Once those two departed, it was all Sri Lanka as Dilshan bowled Van Wyk for a duck. At the lunch break, Flynn and Todd Astle were in the middle, having faced many a maiden as they saw out the session on six and two respectively.
Flynn batted all afternoon session as first Astle, then Doug Bracewell and then Southee departed for low scores, despite occupying the crease for a while.
Astle didn't last much longer after the lunch break, trapped LBW by Herath after failing to offer a shot. Bracewell played neatly for his 24, but tried one big shot too many and was caught by Herath off Suraj Randiv at long on.
Southee was Herath's fourth wicket, finding his stumps disturbed for 15. Patel and Flynn slowed matters down before tea as they looked to record the Kiwis second total over 400 this whole year. New Zealand were on 396 for eight, though Flynn was unbeaten on fifty precisely.
After tea the Kiwis soon floundered, as Flynn was trapped LBW by Herath, and Trent Boult found his bails flying thanks to the same bowler.
The Kiwis started strongly with the new ball as the clouds rolled in. Dilshan and Sangakkara were both sent packing with the score on seven, the former bowled by Southee and the latter caught by Boult off the same bowler.
Jayawardene could make only four before being caught by Williamson off Boult, leaving Mathews and the young opener to steady the ship. Luckily for them, the umpires called bad light after 17 overs to end their misery.