A back to the wall 95 by middle-order batsman Janith Liyanage helped Sri Lanka beat Zimbabwe by two wickets in the second ODI of the three-match series in Colombo on Monday.
Chasing 209 to win, Sri Lanka struggled as left-arm seamer Richard Ngarava troubled the batsmen with extra bounce.
Ngarava claimed the first four Sri Lankan wickets, and picked up a fifth when he dismissed Maheesh Theekshana in his final over.
Sri Lanka were 112, but a 56-run stand for the seventh wicket between Theekshana and Liyanage started the fight back.
Ngarava finished with five for 32, his career-best figures and Sri Lanka started to breath easier when he completed his 10 overs.
Liyanage, trying to keep up with the required rate, attempted to clear mid-off, but did not get the elevation needed and was dismissed five runs short of his hundred.
Liyanage was drafted into the Sri Lankan side for this series after his prolific form in domestic cricket.
His 95 came off 127 deliveries with six fours and two sixes. "I wanted get to the hundred but was disappointed," he said.
When Liyanage was dismissed, Sri Lanka required 37 runs with two wickets in hand.
Jeffrey Vandersay (19) and Dushmantha Chameera (18) knocked off the target, adding an unbroken 39 runs for the ninth wicket. More than an hour's play was lost due to rain during the Sri Lankan innings, but the game continued without the overs being reduced.
Spin bowler Sikandar Raza backed up Ngarava, claiming two for 32 in his 10 overs, but there was not enough support from the rest of the bowlers.
Zimbabwe had opted to bat after winning the toss, with skipper Craig Ervine top scoring with 82 runs.
A one-handed diving catch by Sadeera Samarawickrama at extra cover dismissed Ervine, and soon Zimbabwe were struggling.
From 182 for four, Zimbabwe collapsed to be 209 all out, losing the last six wickets for 26 runs.
Theekshana picked up four wickets, while Chameera and Vandersay claimed two wickets apiece.
Ervine called it a "well fought game" and was "proud" of his bowlers. "We have one more game and we need to look at squaring the series," he said.
Sri Lanka lead the three-match series 1-0. The first game on Saturday was washed out and inclement weather could play spoilsport again.
The final game is on Thursday at the same venue.