Tim Southee ran through Sri Lanka's top-order but Dimuth Karunaratne, Angelo Mathews and Niroshan Dickwella struck half-centuries as the visitors fought back against New Zealand on day one of the first Test in Wellington.
The Black Caps seamer trapped Danushka Gunathilaka (1) lbw with the final ball of his first over before having Dhananjaya de Silva (1) and Kusal Mendis (2) caught in his second over to reduce the away side to 9-3.
After a disastrous start to their innings, Karunaratne and Mathews shared a 133-run fourth-wicket partnership but the former was caught behind off Neil Wagner to depart for a well-earned 79 to bring an end to their stand.
Southee then picked up another pair of scalps in consecutive overs, having Sri Lanka captain Dinesh Chandimal (6) caught at deep square leg and taking Mathews' edge to end a defiant knock of 83, as the fast bowler completed an eighth Test five-wicket haul.
Wicketkeeper Dickwella (73 not out) continued to battle with the aid of the tail but the away side lost regular wickets, with Colin de Grandhomme having Dilruwan Perera caught behind and Henry Nicholls pulling off a brilliant catch running back from short leg to see the end of Suranga Lakmal.
Trent Boult picked up his first wicket of the innings, with BJ Watling completing a simple catch behind the stump to get rid of Kasun Rajitha, to leave Sri Lanka 275-9 at the close.
Watch day two of the first Test between New Zealand and Sri Lanka live on Sky Sports Cricket from 9.55pm on Saturday.