Playing just his second Test, Gunaratne scored 116 to marshal the tail to good effect and frustrate the Zimbabwean bowlers, before his dismissal brought the end of the Sri Lankan innings on the stroke of tea.
The tourists began the day on 290 for five, with Gunaratne on 13, and despite losing centurion Dhananjaya de Silva they were able to make rapid progress during the morning session.
After lunch the 30-year-old increased his rate of scoring further in a 75-run stand for the eighth wicket with captain Rangana Herath, who made 27.
Seamer Donald Tiripano had Herath caught behind and then bowled Suranga Lakmal, but No. 11 Lahiru Kumara held on long enough for Gunaratne to reach three figures and carry the score past 500.
Disclaimer: No Business Standard Journalist was involved in creation of this content
