Thisara Perera put an all-round performance but it went in vain as Zimbabwe pulled off a 12-run win over Sri Lanka in their second match of the tri-nation one-day international tournament in Dhaka on Wednesday.
Perera claimed 2-43 to help Sri Lanka restrict Zimbabwe to 290-6 and appeared to have taken the game away from the grip of African side with late blitz after a mid-innings collapse.
Tendai Chatara dismissed for 64 off 37 balls before finishing with 4-33 as Zimbabwe held their nerve to dismiss Sri Lanka for 278 in 48.1 overs to post their fourth win over the Islanders in last six matches.
Hamilton Masakadza and Sikandar Raza earlier hit half-centuries to help Zimbabwe post their highest run at the Sher-e-Bangla National Stadium, which was hosting its 100 ODIs.
Put into bat first, Masakadza gave Zimbabwe, who lost the opening match of the tournament to Bangladesh by eight-wicket, a solid start with his 73-run knock before Raza added an unbeaten 81 off 67 balls.
Asela Gunaratne picked up 3-37 but Sri Lanka had a job in their hands having won just five of their 29 ODIs last year.
Kusal Perera survived a drop catch on 57 to hit 80 off 83 balls while Angelo Mathews made 42 and Dinesh Chandimal added 34 runs to provide him some support.
But Zimbabwe bowlers made regular breakthroughs to stay in contest.
Perera, who struck five fours and three sixed, lifted Sri Lanka from 181-5 before his dismissal to Chatara ended the game as contest.
Want stories like this in your inbox?
Sign up to exclusive daily email
More Stories from Cricket