Batsman Craig Ervine hit a fighting half-century as Zimbabwe took tea at 213-6 against a persistent Sri Lankan bowling attack on the opening day of the one-off Test on Friday.
Ervine's unbeaten 84 lifted Zimbabwe from a precarious 70-4 after Sri Lanka spinner Rangana Herath took three wickets to hurt the visitors at Colombo's R Premadasa Stadium.
Ervine built a few crucial partnerships including a 84-run fifth-wicket stand with Sikandar Raza (36) to improve on Zimbabwe's position after they elected to bat first.
Ervine was batting alongside Malcolm Waller (13 not out) at the break.
Herath, who returned with figures of 3-57 in the first two sessions, provided early delight for new Test captain Dinesh Chandimal after he lost the toss.
The hosts, who saw Angelo Mathews step down as captain after their shock defeat to Zimbabwe in the one-day series, looked much the better side in the 55 overs bowled so far.
Herath sent back openers Regis Chakabva for 12 and Hamilton Masakadza for 19 trudging back to the pavilion as Zimbabwe took lunch at 96-4.
The 39-year-old Herath, who also got the dangerous Raza trapped lbw, was ably supported by the rest of the bowlers. Lahiru Kumara, Asela Gunaratne and Dilruwan Perera took a wicket each.
Zimbabwe win toss, bat first against Sri Lanka
Sri Lanka's Dinesh Chandimal lost his first toss as Test captain, with Zimbabwe electing to bat first in the sole five-day match in Colombo on Friday.
The hosts, who saw Angelo Mathews step down as captain after their shock loss to Zimbabwe in the one-day international series, have gone with an expected starting lineup at Colombo's R Premadasa Stadium.
Off-spinner Dilruwan Perera will partner veteran left-arm orthodox Rangana Herath in the Sri Lankan XI.
The Graeme Cremer-led Zimbabwe side, upbeat after their first-ever series win in Sri Lanka earlier this week, have handed young batsman Tarisai Musakanda his Test debut.
Sri Lanka: Dinesh Chandimal (capt), Upul Tharanga, Dimuth Karunaratne, Kusal Mendis, Angelo Mathews, Asela Gunaratne, Niroshan Dickwella (wk), Dilruwan Perera, Rangana Herath, Suranga Lakmal, Lahiru Kumara.
Zimbabwe: Graeme Cremer (capt), Regis Chakabva, Hamilton Masakadza, Tarisai Musakanda, Craig Ervine, Sean Williams, Sikander Raza, Malcolm Waller, Peter Moor (wk), Chris Mpofu, Donald Tiripano.
Umpires: Ian Gould (ENG), Nigel Llong (ENG)
TV Umpire: Chettithody Shamshuddin (IND)
Match Referee: Chris Broad (ENG)