Donald Tiripano struck early to remove Oshada Fernando and complete an excellent second day of the first Test for Zimbabwe against Sri Lanka in Harare.
The 31-year-old seamer had earlier made a handy 44 not out batting at number eight as Zimbabwe advanced from their overnight 189 for two to 358 all out.
Left-arm spinner Lasith Embuldeniya, playing in his sixth Test, was the stand-out bowler with five for 114.
When bad light stopped play for the day, Sri Lanka had reached 42 for the loss of Fernando who had his off stump flattened by Tiripano's very first delivery.
Dimuth Karunaratne will resume on 12 and Kusal Mendis on six.
The day began with Zimbabwe Craig Ervine well set on 55 and looking for his third Test century.
The 34-year-old progressed comfortably to 85 until pace bowler Suranga Lakmal nipped one through his defence shortly before lunch.
It was the third wicket to fall during the morning as Lakmal also produced a full inswinger to have Brendan Taylor leg before for 21 and Zimbabwe captain Sean Williams edged left-arm spinner Embuldeniya to Niroshan Dickwella behind the stumps.
The left-armer spinner removed Regis Chakabva shortly after lunch but Sikandar Raza and Tiripano then both settled in.
Raza fell for a flighty 41, stumped by Dickwella as he charged at Embuldeniya, who also bowled Kyle Jarvis.
Ainsley Ndlovu was brilliantly snapped up at short-leg by Kusal Mendis off Lahiru Kumara. Lakmal dismissed last man Victor Nyauchi just after the delayed break to finish with three for 53, leaving Tiripano undefeated on 44.
The two-Test tour was only announced by the Sri Lankan cricket board last week.
Zimbabwe were readmitted as an ICC member last October following a three-month suspension over political interference.
The Sri Lanka games represent their first Tests since a 1-1 series draw in Bangladesh in November 2018.
Zimbabwe last played a Test at home against the West Indies in October 2017.