New skipper Dinesh Chandimal and the man he replaced Angelo Mathews steered Sri Lanka to safety after they lost three quick wickets on the second day of their one-off Test against Zimbabwe on Saturday.
Chandimal was unbeaten on 44 and Mathews on 16 as Sri Lanka reached 184-3 at tea, chasing Zimbabwe's 356.
Chandimal and Mathews, who quit the captaincy this week after Sri Lanka's loss in the one-day series against Zimbabwe, put on 68 for the fourth wicket.
Opener Upul Tharanga gave Sri Lanka a quick start before being run out at the non-strikers end as the hosts slipped from 84-0 to 116-3 at the R Premadasa Stadium in Colombo.
Tharanga fell short of his crease while backing up to a straight drive by Chandimal as the ball grazed past the fingers of paceman Donald Tiripano.
Tiripano's lucky fielding effort came after he got Zimbabwe's first breakthrough in Dimuth Karunaratne (25) in his first over after lunch. Karunaratne's wicket ended an 84- run opening partnership.
Zimbabwe skipper Graeme Cremer got Kusal Mendis caught behind for 11 with his off-spin.
Earlier Zimbabwe lasted just 4.4 overs of the morning session, adding 12 runs to their overnight score of 344-8, before the innings ended.
Craig Ervine top-scored with 160 while Sri Lankan spinner Rangana Herath returned an impressive 5-116.