Off-spinner Sikandar Raza claimed three wickets to help Zimbabwe restrict Sri Lanka to 203 for eight in the fifth and deciding one-day international on Monday.
Put into bat, Sri Lanka suffered from a lack of partnerships but opener Danushka Gunathilaka (52) and Asela Gunaratne (59 not out) hit gritty half-centuries to steady the home side in Hambantota.
The Angelo Mathews-led side slipped to 153-8 in the 42nd over before Gunaratne and Dushmantha Chameera (18 not out) put on an unbeaten 50-run stand for the ninth wicket.
Paceman Tendai Chatara drew first blood after getting opener Niroshan Dickwella — who came into the match with two successive centuries — caught behind for three.
The wicket also pulled the brakes on Sri Lanka’s rampaging opening starts in the previous one-day internationals against the visiting African side.
Dickwella and Gunathilaka made ODI history in delivering back-to-back double century partnerships in the previous two contests against Zimbabwe.
Raza (3-21), who opened the bowling for the visiting side, rattled Sri Lanka’s top order with two wickets including left-handed batsman Upul Tharanga for one.
The Pakistan-born Raza was complemented by skipper Graeme Cremer, who took two wickets with his wily leg-spin, notably the prized scalp of his opposite number Mathews (24).
The 11th-ranked Zimbabwe, who levelled the series at 2-2 on Saturday, are chasing their first bilateral series away from home against a Test side since they defeated Bangladesh on their home turf in 2001.