Sri Lanka spinner Rangana Herath took two early wickets to rattle Zimbabwe as the visitors took lunch at 96-4 on the opening day of their one-off Test on Friday.
Herath, who took 2-36 in the first session in Colombo, provided early delight to new Test captain Dinesh Chandimal after he lost the toss and Zimbabwe elected to bat first.
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 first 28 overs.
Veteran left-arm spinner Herath sent back openers Regis Chakabva for 12 and Hamilton Masakadza for 19 at the R Premadasa Stadium.
Paceman Lahiru Kumara removed Tarisai Musakanda, caught behind for six as the visitors slipped to 38-3.
Craig Ervine and Sean Williams tried to stem the rot with a 32-run fourth-wicket partnership but off-spinner Dilruwan Perera broke the stand in his second over, claiming Williams for 22.
Ervine battled on to reach 19 at the break with Sikandar Raza unbeaten on 17. The duo put together 26 runs to try and steady Zimbabwe.