Fighting half-centuries by Niroshan Dickwella and Asela Gunaratne sparked Sri Lanka to a record 388 target to beat Zimbabwe by four wickets Tuesday in a pulsating end to the one-off Test.
A crucial 121-run sixth-wicket stand between Gunaratne (80 not out) and Dickwella (81) secured Sri Lanka's best-ever run chase in Colombo.
Sri Lanka's previous best was against South Africa in 2006, when they achieved a 352-run target. The fourth innings total against Zimbabwe was also the highest in Asia and fifth highest in Tests.
The win was a boost for new Test captain Dinesh Chandimal and eased Sri Lanka's pain after a shock defeat in the one-day series against the minnows.
Zimbabwe skipper Graeme Cremer claimed four wickets with his leg-spin to return overall figures of 9-275 at the R. Premadasa Stadium.
Man of the match Gunaratne anchored the chase to perfection after Dickwella's departure, putting on an unbeaten 67-run partnership with Dilruwan Perera (29 not out).
Gunaratne, who played most of the Test as a batsman after injuring his hamstring in the first innings, tackled the Zimbabwe spinners with ease during his 151-ball stay.
Wicketkeeper-batsman Dickwella rode his luck to reach 81 before being caught behind off left-arm spinner Sean Williams while attemping an audacious reverse sweep.
Dickwella first survived a stumping chance from Sikandar Raza's off-spin on 37 and was then dropped by wicketkeeper Regis Chakabva on 63 to put the hosts on course for a win.
Dickwella's stumping reprieve cost the visitors dearly after it was referred to the third umpire, who ruled him not out despite replays showing his toe was on the crease -- a case where the batsman can be given out.
Kusal Mendis scored a fluent half-century to keep Sri Lanka's hopes of chasing a record 388 alive on day four of the one-off Test against Zimbabwe on Monday.
The hosts were 170 for three at stumps, with Mendis (60) batting alongside Angelo Mathews (17) at Colombo's R. Premadasa Stadium.
Sri Lanka's highest-ever successful run chase was against South Africa in 2006, when they achieved their 352-run target in Colombo.
Zimbabwe skipper Graeme Cremer dented the hosts with his leg-spin, claiming the important wickets of Upul Tharanga (27) and his opposite number Dinesh Chandimal (15).
Opener Dimuth Karunaratne was bowled by left-arm spinner Sean Williams for 49 as the visitors persisted with an all-spin attack in the 48 overs bowled in the innings so far.
Karunaratne said Cremer - who bagged his maiden five-wicket Test haul in Sri Lanka's first innings - would pose the biggest threat on a fifth-day track.
"We have got to watch out for Cremer. He is creating the most trouble. There is lot of assistance for the wrist spinner," Karunaratne told reporters.
"We have already got 170 runs on the board... once the ball gets softer, it gets easier. If these two guys are able to hang in there for one and a half hours we will get into an interesting position."
Mendis, who fought off hamstring trouble in the final session of play, put together an unbeaten 37-run stand with Mathews to take the delicately poised Test into its final day.
Zimbabwe were earlier bowled out for 377 in the second session, with Sikandar Raza (127) top-scoring for the visitors with his maiden Test century.
Cremer was the last man out for 48 off left-arm spinner Rangana Herath, who returned figures of 6-133 to take his match tally to 11 wickets.
The Pakistan-born Raza steered the team's middle and lower order to help his side accumulate another 318 runs after being reduced to 59-5 on day three.
Raza's 144-run partnership with Malcolm Waller (68) was the highlight of the Zimbabwe innings after the pair resumed on the overnight score of 252-6.
"Feels great to get my maiden Test hundred," said all-rounder Raza, who also opened Zimbabwe's bowling with his off-spin.
"All the batters put up a tremendous show. Brilliant effort by all the guys to get us into this position. The result of this game now can go our way."
Zimbabwe are seeking their first-ever Test win against Sri Lanka, who are looking for redemption under new Test captain Chandimal.
He took over from Mathews, who resigned after calling the one-day series loss a "hard pill to swallow".
Zimbabwe 1st innings 356 (C. Ervine 160; R. Herath 5-116)
Sri Lanka 1st innings 346 (U. Tharanga 71, D. Chandimal 55;
Zimbabwe 2nd innings
H. Masakadza lbw b Herath 7
R. Chakabva b Herath 6
T. Musakanda c Karunaratne b Herath 0
C. Ervine c Karunaratne b D. Perera 5
S. Williams b Herath 22
S. Raza b Herath 127
P. Moor c sub b Kumara 40
M. Waller c Tharanga b D. Perera 68
G. Cremer c Karunaratne b Herath 48
D. Tiripano lbw b D. Perera 19
C. Mpofu not out 9
Extras (b-4 lb-14 nb-1 w-7) 26
Total (all out, 107.1 overs) 377
Fall of wickets: 1-14 R. Chakabva,2-16 T. Musakanda,3-17 H. Masakadza,4-23 C. Ervine,5-59 S. Williams,6-145 P. Moor,7-289 M. Waller,8-306 S. Raza,9-361 D. Tiripano,10-377 G. Cremer
Suranga Lakmal 14 - 0 - 43 - 0
Rangana Herath 39.1 - 5 - 133 - 6
Dilruwan Perera 30 - 2 - 95 - 3
Lahiru Kumara 20 - 3 - 72 - 1(nb-1 w-3)
Kusal Mendis 4 - 0 - 16 - 0
Sri Lanka 2nd innings (Overnight: 252-6; Target: 388 runs)
Dimuth Karunaratne b Williams 49
Upul Tharanga c Moor b Cremer 27
Kusal Mendis not out 60
Dinesh Chandimal c H. Masakadza b Cremer 15
Angelo Mathews not out 17
Extras (lb-2) 2
Total (for 3 wickets, 48 overs) 170
Fall of wickets: 1-58 U. Tharanga,2-108 D. Karunaratne,3-133 D. Chandimal
Sri Lanka: A. Gunaratne, N. Dickwella, D. Perera, R. Herath, S. Lakmal, L. Kumara
S. Raza 9 - 1 - 29 - 0
S. Williams 16 - 0 - 62 - 1
G. Cremer 19 - 0 - 67 - 2
M. Waller 4 - 0 - 10 - 0