Half-centuries from Tom Latham and Kane Williamson put New Zealand at 255-4 and in hot pursuit of Sri Lanka on day two of the first Test.
The Black Caps trailed by 50 at stumps in Galle with Daryl Mitchell (41*) and Tom Blundell (18*) to resume in the morning.
No New Zealander has scored a Test century in Galle and both Williamson and Latham looked set to end that drought before falling against the run of play.
Their 73-run partnership steadied the reply to Sri Lanka’s first innings of 305 but ended when Latham fell before tea for 55, top-edging a sweep shot that was caught at backward square leg.
World No 2 batsman Willamson departed in the final session for 70 while trying to work Dhananjaya de Silva on the leg-side for a single, caught by wicketkeeper Kusal Mendis.
Aggressive sweep shots from the Kiwis foiled a concerted Sri Lankan spin attack and forced the hosts to spread the field.
It countered New Zealand’s usual vulnerability to spinners in Galle, where the tourists have lost all four of their prior Test matches played there.
De Silva had a second wicket when he bowled Rachin Ravindra, finishing 2-31 in an otherwise lacklustre day for the hosts.
Fewer than five overs were played in a morning session delayed by rain.
Sri Lanka belatedly resumed their first innings from 302-7 overnight but lost all three remaining wickets for just three runs.
Rookie New Zealand fast bowler William O’Rourke took 5-55, his second five-wicket haul in just three Tests since his February debut against South Africa.
That home series saw him take 9-93, the best match figures for a debutant Kiwi bowler.
A groin injury ruled the 23-year-old O’Rourke out of the following series against Australia and his selection ahead of the more experienced Matt Henry had been a surprise.
But he vindicated selectors by delivering consistent speeds above 145km/h to carve through the Sri Lankan top order on day one.
A century by Kamindu Mendis, his fourth from seven Test appearances, rescued Sri Lanka from 178-5.
© Agence France-Presse
Photo: Sri Lanka Cricket