Harare - Opener Dimuth Karunaratne scored his fourth Test century as Sri Lanka steadily built their lead over Zimbabwe on day four of the first Test at Harare Sports Club on Tuesday.
Karunaratne confirmed his return to form with 110 in Sri Lanka's second innings as the tourists reached tea on 231 for five, an overall lead of 395.
The left-hander came into the match without a fifty in his previous three games, but followed up his 56 in the first innings with his first hundred in 19 innings stretching back to October 2015.
The Zimbabweans were able to restrict the Sri Lankan scoring early on the fourth morning as the tourists resumed on five without loss, with Carl Mumba bowling Kaushal Silva in the seventh over of the day.
But Karunaratne gradually opened up and added 55 brisk runs for the second wicket with Kusal Perera, who fell for 17 when he edged a delivery from Malcolm Waller to slip.
As the field spread Sri Lanka's momentum was sustained by Karunaratne and Kusal Mendis, until the latter perished off the final ball of the first session as he was caught at mid-on for 19 off Mumba.
When Upul Tharanga fell to the 11th ball after lunch, becoming Mumba's third scalp, Sri Lanka were 117 for four and not yet out of sight.
But Dhananjaya de Silva joined Karunaratne in a 94-run stand for the sixth wicket that put Sri Lanka within sight of a declaration.
While Karunaratne was caught and bowled by Chris Mpofu shortly before tea, de Silva went into the interval unbeaten on 59.
Zimbabwe captain Graeme Cremer's unexpected Test century had headlined the third day's play, which saw Zimbabwe bowled out for 373 in response to Sri Lanka's first-innings total of 537.