Lasith Embuldeniya picked up three wickets in the morning session as Sri Lanka bowled out Zimbabwe for 406 in their first innings on the second day of the second Test in Harare on Tuesday.
The left-arm spinner took a hammering on Monday, mainly at the hands of centurion Sean Williams, but found some bounce and turn to finish the innings with four for 182.
The Sri Lanka openers Dimuth Karunaratne and Oshada Fernando safely negotiated the three overs they faced before lunch, reaching six without loss at the interval, still 400 runs behind.
Resuming on 352 for six, Zimbabwe lost Regis Chakabva for his overnight 31 in the sixth over of the morning after he gave a feint edge off Embuldeniya to wicketkeeper Niroshan Dickwella.
Debutant Tinotenda Mutombodzi made 33 before missing a sweep to fall leg before to Dhananjaya de Silva who finished with three for 71.
Some resistance from the last three took the Zimbabwe total past 400 but Embuldeniya accounted for both Donald Tiripano and Victor Nyauchi who was brilliantly caught by de Silva at first slip.