Live and ball-by-ball details
Sri Lanka will have to pursue 388 - the highest total ever chased on the island, and the fifth highest overall - after Zimbabwe posted 377 in the third innings, their stubborn tail having hit a further 37 runs after lunch.
Graeme Cremer was the key actor in Zimbabwe's day so far, making 48 before becoming Rangana Herath's sixth victim of the innings. He now becomes central to Zimbabwe's defense of their mammoth score, having been their most penetrative bowler in the first innings.
Zimbabwe's tail progressed much as the top-order batsmen had, taking risk-free runs into the outfield, and venturing the occasional boundary - generally only off the bad balls. Sri Lanka, who had held their catches until day three, contributed to their role in their own frustration on Monday, dropping two catches. Just before lunch, slip fielder Dimuth Karunaratne failed to hold a tough chance low to his right, reprieving Cremer on 32. Dilruwan Perera, the bowler on that occasion, would also see another chance go down off his bowling. After lunch, Lahiru Kumara fumbled a straight forward catch off Donald Tiripano at mid off. The Cremer-Tiripano ninth-wicket stand was Zimbabwe's best of the day, yielding 55 runs.
Perera would eventually get Tiripano lbw for 19, before Herath drew a top edge from a sweeping Cremer. But that was not before Chris Mpofu had biffed a six, and the last-wicket pair had added another 16 together.
Andrew Fidel Fernando is ESPNcricinfo's Sri Lanka correspondent. @andrewffernando
© ESPN Sports Media Ltd.