Openers Niroshan Dickwella and Danushka Gunathilaka hit sublime centuries to help Sri Lanka humble Zimbabwe by eight wickets in the third one-day international in Hambantota on Thursday.
Chasing 311 for victory, the hosts rode on a 229-run opening stand between Dickwella (102) and Gunathilaka (116) to canter home in 47.2 overs and earn a 2-1 lead in the five-match series.
The left-handed batting duo got their maiden ODI hundreds to overshadow Zimbabwe opener Hamilton Masakadza's sparkling 111 in the visitors' 310-8 after being put into bat first.
While wicketkeeper-batsman Dickwella hit 14 boundaries during his stay, Gunathilaka smashed 15 fours and a six to flay the Zimbabwe attack at the Mahinda Rajapaksa International Cricket Stadium.
Off-spinner Malcolm Waller got Dickwella trudging back to the pavilion and left-arm orthodox Sean Williams cleaned up Gunathilaka in an otherwise disappointing show by the Zimbabwe bowlers.
Upul Tharanga (44) and Kusal Mendis (28) then steered the team home with an unbeaten 75-run stand as the batting duo survived a dropped catch each as fielding lapses also hurt the visitors.
Earlier Masakadza put on a crucial 127-run partnership for the second wicket with Tarisai Musakanda (48) before Sri Lankan bowlers struck back to check Zimbabwe's surge.
Masakadza's 98-ball knock, laced with 15 fours and a six, had Zimbabwe eyeing 350-plus at one point before a middle-order collapse pulled them back.
Teenage leg-spinner Wanindu Hasaranga, who took a hat-trick on his ODI debut in the second match in Galle, and paceman Asela Gunaratne grabbed two wickets each.
Sean Williams contributed with a gutsy 43 while cameos from wicketkeeper-batsman Peter Moor (24) and Sikandar Raza (25 not out) helped Zimbabwe cross the 300-run mark.
The action now shifts to the fourth ODI on Saturday at the same venue.