Kusal Mendis and captain Dimuth Karunaratne scored half-centuries as Sri Lanka pushed to 305 for six before bad light brought stumps early on day one of the first Test against New Zealand in Christchurch on Thursday.
It was a positive day at the batting crease for the south Asians, who can reach the World Test Championship final if they sweep the Black Caps in the two-Test series and Australia deny India victory in the fourth Test in Ahmedabad.
New Zealand captain Tim Southee won the toss and put his bowlers to work on a green-tinged pitch at Christchurch's Hagley Oval.
But it backfired as Mendis and Karunaratne put on a 137-run stand for the second wicket.
Fast bowler Southee broke the partnership by dismissing Mendis lbw for 87 from 83 balls when the number three declined to offer a shot.
Southee also had opener Oshada Fernando caught down the leg-side for 13 and Dinesh Chandimal caught in the slips for 39 to be the pick of the bowlers on a frustrating day for the hosts.
Number six Dhananjaya de Silva was 39 not out and tail-ender Kasun Rajitha was 16 not out when play was abandoned late in the final session.
Paceman Matt Henry took two wickets, having Karunaratne (50) and all-rounder Angelo Mathews (47) each caught in the slips.
He was unlucky not to have more, though, as he and Southee beat the bat repeatedly in the morning.
"It's always a frustrating day when you're, I suppose, beating the bat like that," said Henry.
"We've just got to be a little bit better for longer because there was a period there that hurt us a bit."
It was a poor day for New Zealand's other seamers, with Neil Wagner conceding 68 runs in 10 wicketless overs, a major comedown after his final day heroics in the recent one-run win over England in Wellington.
Rookie quick Blair Tickner was also wasteful, smashed for more than five an over as number three Mendis blunted his short-pitched salvos with T20-style batting.
Southee burned all of New Zealand's reviews over the course of a day punctured by short interruptions from drizzle and gloom.
Luckily, New Zealand had no need of one when spin-bowling all-rounder Michael Bracewell rapped wicketkeeper Niroshan Dickwella on the pads late in the day.
Dickwella was out lbw for seven and blew one of Sri Lanka's reviews trying to reverse the decision.