Sri Lanka 537 and 5 for 0 (Silva 3*, Karunaratne 1*) lead Zimbabwe 373 (Cremer 102*, Moor 79, Herath 3-97) by 169 runs
Scorecard and ball-by-ball details
A fantastic rearguard effort from Zimbabwe's middle and lower order, led by Graeme Cremer's maiden Test ton, helped the hosts avoid the follow-on and post 373 after they had slumped to 139 for 6 in the morning. Peter Moor put his wicketkeeping woes behind him to contribute with an 84-ball 79 and Donald Tiripano struck a composed 46.
Cremer, batting at No. 8, played an attritional Test innings, waiting for anything overpitched. He received plenty such deliveries and drove elegantly to accrue seven of his ten boundaries through mid-off and extra cover. His timing was superlative and placement impeccable, important requisites for boundary scoring.
The highlight of Cremer's innings was his discipline with straight-bat strokes, even if the ball was short or wide. He milked the spinners, particularly with the spin to long-on or square on the leg side.
On 58, Cremer was dropped at backward square leg by Asela Gunaratne. Other than that opportunity, Cremer looked impregnable with a tight defense - bat close to body, head over the ball and a good judgement of which balls to play at and which to leave. Such was his fluency that his hundred never looked in doubt as long as he didn't run out of partners. Suspense arose around the ground when he needed No. 11 Chris Mpofu to block out one delivery from Rangana Herath.
Moor was more selective in his choice of shots, opting to loft the spinners straight as opposed to opting for cross-bat strokes. He used his feet effectively and hit the slower bowlers through the line in the arc between long-off and long-on. When the bowlers compensated with a shorter length, the cut shot was productive.
He reached his fifty off 49 balls, thereby forcing Herath to dispatch fielders to the boundary. At one point, Herath had five deep fielders off his own bowling.
Just when Moor looked set for his maiden Test ton, debutant Lahiru Kumara worked him over with a pair of outstanding bouncers on a slow pitch. The first, directed at the neck, caused Moor to fend awkwardly. The ball lobbed over slip for four. Two balls later, another well-directed bouncer accounted for Moor. The ball ballooned up off the glove and gully raced in to complete a low catch, Kumara's first Test wicket and Sri Lanka's only one of the session.
Kumara continued to trouble the batsmen with extra oomph in a testing spell. Cremer survived a nasty moment when Kumara's bouncer hit and subsequently detached his helmet, which fell perilously close to the stumps.
He added 92 with No. 9 Donald Tiripano, who was equally adept at keeping out the straight deliveries and accumulating runs against Sri Lanka's tiring spinners. Against the run of play, Tiripano missed a straight one from part-timer Kusal Mendis - it was Mendis' first wicket in first-class cricket.
Despite the lower-order fightback, Sri Lanka still retained control of the Test. They would have been pleasantly surprised with the conditions that greeted them on the third morning. After the Harare surface offered nothing to seam or spin on the first two days, it started to behave differently. Variable bounce, pace and enough lateral movement for the seamers helped Sri Lanka run through Zimbabwe's middle order in a five-wicket morning session.
Overnight batsmen Tino Mawoyo and Hamilton Masakadza began the day with staunch defence, even with low bounce evident from the second ball of the morning. Mawoyo was uncertain against the short ball on the second evening, and Suranga Lakmal exploited that weakness by repeatedly employing the bouncer. Some flew off the surface, some looped to the keeper.
In the fifth over of the day, a bouncer hustled Mawoyo for pace and an attempted pull resulted in a top-edge, which was taken by square leg placed halfway to the boundary.
Sean Williams and Craig Ervine, Zimbabwe's best batsmen, were visibly disconcerted by the bounce and chose to sweep Rangana Herath. Both batsmen struck boundaries but the stroke was always fraught with risk on this pitch. Williams attempted a hard sweep off Herath but the ball bounced extra and took the leading edge, which was snaffled at deep square leg. Zimbabwe had lost their third wicket of the day inside 12 overs, the second off a top edge.
Dilruwan Perera capped an excellent morning for Sri Lanka with two lbws, both non-turning offbreaks. Ervine missed a straight delivery, his pad interfering with the bat's contact with the ball. Malcolm Waller went back to what he thought was a long-hop, but the ball skidded on and beat his pull.

Nikhil Kalro is a sub-editor at ESPNcricinfo