Harare: Zimbabwe lost two early wickets but recovered to finish 126 for two at the close on the second day of the second Test on Monday in reply to Sri Lanka's first-innings total of 504.
Brian Chari and Craig Ervine were both 60 not out as Zimbabwe fought back after a poor start when they slumped to 17 for two but the hosts still trail by 378 runs.
Sri Lanka, who won a closely contested first test last week, went from 290 for five overnight to being dismissed just before tea with Asela Gunaratne completing a maiden Test century.
Dhanajaya de Silva was before caught and bowled by Zimbabwe skipper Graeme Cremer for 127.
Gunaratne, playing his second Test, made 116 and was the last man out.
He was on 91 when the ninth wicket went down and had to watch as No. 11 Lahiru Kumara fended off the Zimbabwe bowlers before reclaiming the strike and moving to three figures.
Sri Lanka's stand-in captain Rangana Herath took the wickets of Tino Mawoyo and Hamilton Masakadza in the same over as Zimbabwe's openers again failed to get their team off to a solid start.
Sri Lanka 1st innings:
D. Karunaratne c Williams b H. Masakadza 26
K. Silva lbw b Mpofu 37
K. Perera c Mumba b H. Masakadza 4
K. Mendis c Moor b Tiripano 26
U. Tharanga c H. Masakadza b Cremer 79
D. de Silva c & b Cremer 127
A. Gunaratne st Moor b Williams 116
D. Perera lbw b Cremer 34
R. Herath c Moor b Tiripano 27
S. Lakmal b Tiripano 0
L. Kumara not out 7
Extras (b-9, lb-8, nb-2, w-2) 21
Total (all out, 144.4 overs) 504
Fall of wickets: 1-62, 2-66, 3-84, 4-112, 5-255, 6-342, 7-396, 8-471, 9-471, 10-504
Bowling: C. Mumba 23-4-80-0, D. Tiripano 32-4-91-3 (nb-2, w-2), C. Mpofu 23-4-92-1, H. Masakadza 13-4-34-2, G. Cremer 40-1-136-3, S. Williams 8.4-1-31-1, M. Waller 5-0-23-0 Zimbabwe 1st innings:
T. Mawoyo lbw b Herath 3
B. Chari not out 60
H. Masakadza c D. de Silva b Herath 0
C. Ervine not out 60
Extras (b-2, lb-1) 3
Total (for 2 wickets, 35 overs) 126
Fall of wickets: 1-17, 2-17
To bat: S. Williams, M. Waller, P. Moor, G. Cremer, D. Tiripano, C. Mumba, C. Mpofu
Bowling: S. Lakmal 9-1-23-0, R. Herath 11-1-44-2, L. Kumara 6-0-24-0, D. Perera 6-1-23-0, A. Gunaratne 2-0-5-0, D. de Silva 1-0-4-0
Umpires: Simon Fry & Ian Gould
TV umpire: Langton Rusere
Match referee: Chris Broad