Live and ball-by-ball details
Sikandar Raza reached a maiden Test ton off the second ball he faced on the fourth morning, No. 9 batsman Graeme Cremer made a spirited 35 not out, and though Sri Lanka dismissed the overnight pair of Raza and Malcolm Waller, Zimbabwe marched on to a lead of 350 - two short of the target during Sri Lanka's most successful chase in Test cricket.
Though on the surface, two Zimbabwe tailenders are at the crease, Sri Lanka will be dispirited by the shocking lack of penetration in their attack. Lahiru Kumar delivered an energetic spell with the second new ball, but the one catching chance he created whistled unhindered through vacant third slip. Dilruwan Perera did take a wicket in this session, but that dismissal, of Waller, had come off a legside long hop.
Rangana Herath was the only bowler who sent down genuinely threatening deliveries. One of them dismissed Raza for 127, giving the bowler his eighth 10-wicket haul in Tests, and second against Zimbabwe. But for long periods of the session, most of what his teammates did was merely give away risk-free runs.
Sri Lanka will hope that the pitch on which even Zimbabwe's tailenders look comfortable will hold up when the time comes for them to eventually bat. But a commonly observed trend over the past two years has been Sri Lankan surfaces' dramatic and inexplicable transformation from carpet roads to bubbling pits of fire, the moment the home team batsmen take guard on them.
Raza reached his hundred in the first over of the day, but immediately set about building on Zimbabwe's lead as if what was probably the personal milestone of his career was merely a distraction from the real job at hand. The sweep and reverse sweep were popular against the spinners again, but Raza's most eye-catching boundary of the morning was an assertive straight punch, off the bowling of Suranga Lakmal, in the 76th over.
Waller, meanwhile, had a quiet morning, and was out attempting his first boundary of the day, when he lifted a short, legside Perera delivery into the hands of deep midwicket. Raza was obviously livid with his teammates' carelessness, but was out himself, 17 runs later, attempting a reverse sweep against Herath only to miss the delivery and have it clatter his stumps.
Dinesh Chandimal sent Lahiru Kumara at the tailenders, but although Cremer edged the second delivery following the change of balls between the slips and gully, Kumara could not really trouble Zimbabwe further. Suranga Lakmal, who has seemed especially toothless in this game, was no better. Eventually, the bounce that Herath gained with the new ball was tempered by the wear on the ball, and even he was defused comfortably by Cremer and Tiripano. Together, they had added 34 for the ninth wicket before a heavy drizzle forced the teams off five minutes before the scheduled lunch.
Zimbabwe had said at the start of the day that they were looking for a lead of about 350, and now have the chance to add to that score.
Andrew Fidel Fernando is ESPNcricinfo's Sri Lanka correspondent. @andrewffernando
© ESPN Sports Media Ltd.