Sri Lanka were sent in after Zimbabwe captain Graeme Cremer won the toss and after stumbling at the end of the opening session, ended on 5-290 at stumps.
Dimuth Karunaratne and Kaushal Silva shared a 62-run opening stand, but the home side bounced back to take 4-50 and reduce the tourists to 4-112.
Karunaratne and Kusal Perera departed in consecutive overs from Hamilton Masakadza before Silva, on 37, was trapped lbw by Chris Mpofu and Kusal Mendis edged Donald Tiripano behind.
However, De Silva joined forces with Upul Tharanga and the in-form pair revived Sri Lanka with a 143-run partnership – Sri Lanka’s highest fifth-wicket stand against Zimbabwe.
Although Tharanga departed to Cremer for 79, De Silva took advantage of a drop by wicketkeeper Peter Moor on 64 to finish unbeaten with 100, reaching his second Test century in the penultimate over of the day. (Courtesy AAP)