Wicketkeeper batsman Kusal Perera hit a rapid maiden Test century as Sri Lanka ended day one of the first Test against Zimbabwe well on top on 317/4.
Sri Lanka navigated the first session with minimum fuss picking up 91 runs without losing a single wicket as Dimuth Karunaratne and Kaushal Silva established a great platform.
Karunaratne (56) was the first to go after lunch though as he chipped Graeme Cremer to Tino Mawoyo to give Zimbabwe the breakthrough.
Silva went about collecting his runs at a steady if somewhat reserved pace while new batsman Kusal took the attack to Zimbabwe.
Sri Lanka were 185 for 1 at tea but would launch after the break while also losing a few wickets as the Test sprung into life.
Silva fell victim to Malcolm Waller just six runs short of of what would have been his fourth Test century.
Sri Lanka appeared to have grown impatient on the slow surface and went after Zimbabwe's bowlers with Cremer reaping the benefits as he picked up two wickets after tea.
The first was the wicket of Kusal Mendis who made 34 off 50 balls before he had one keep low on him while cutting and was caught behind.
Kusal Perera was the next man out having smashed an incredible 110 off 121 balls including 15 fours and two sixes, Cremer had him caught in the deep although he should have had him caught behind when he had just 15 but Peter Moor dropped the catch.
Upul Tharanga (13 not out) and Dhananjaya de Silva (10 not out) were tasked with getting Sri Lanka to the close without further loss to cap a fine day for the tourists and performed their task.
Graeme Cremer was the pick of the Zimbabwe bowlers ending with figures of 3 for 82 from his 21 overs.