Sri Lanka were made to work hard for an 82-run win over Scotland to top Group B of the 2023 ODI World Cup Qualifier.
Having been put into bat, Sri Lanka were bowled out for just 245 but on a tricky surface, that proved more than enough as Maheesh Theekshana (3/41) did the damage with the ball with Scotland losing their final wicket after just 29 overs.
That means Sri Lanka take four points through to the Super Six, with the Scots taking two as the race for qualification intensifies.
In the other match of the day, Ireland picked up their first win of the campaign with a 138-run success against the United Arab Emirates. Paul Stirling hit form with a blistering 162.
Sri Lankan bowlers step up to round out group stages
For the first time in the tournament, Dimuth Karunaratne failed to make a half-century, leaving it to others to step up in his place.
Opening partner Pathum Nissanka did just that, making 75 on a wicket at the Queens Sports Club in Bulawayo that provided plenty of assistance to the spinners.
And while 246 looked like a gettable target for the Scots, they never really threatened, eventually bowled out for 163 in reply.
Chris Sole (2/46) struck early for Scotland, but Nissanka settled in for a fine knock before he was the first of Mark Watt's (3/52) three victims.
The left-armer also removed Charith Asalanka (63), who had kept the scoreboard ticking over, first alongside Nissanka, and then once he had departed with the score on 142 for four.
Asalanka and Dhananjaya de Silva added 61 for the fifth wicket to take Sri Lanka to 203 for four before they lost three wickets for just four runs.
From there, Sri Lanka were in a battle simply to post a respectable total, with Wanindu Hasaranga (15) and Theekshana (16 not out) each providing handy contribution to take their side to 245.
With the spinners thriving, that was always going to be a challenging total for Scotland, and so it proved with Lahiru Kumara bowling Matthew Cross in the second over before the slow bowlers took over.
Theekshana confounded Brandon McMullen (5) and skipper Richie Berrington (10) before Kasun Rajitha served a reminder of what the quicks could do by pinning Tomas Mackintosh leg before for three.
Hasaranga ended Christopher McBride's resistance on 29 and Shanaka then trapped Michael Leask for five with Scotland in all sorts of trouble at 74 for six.
Greaves and Sole (17) added 55 for the ninth wicket but two run-outs saw their challenge come to an end with the final ball of the 29th over.
Brief scores:
Sri Lanka beat Scotland at Queens Sports Club, Bulawayo by 82 runs.
Sri Lanka 245 all out in 49.3 overs (Pathum Nissanka 75, Charith Asalanka 63; Chris Greaves 4/32, Mark Watt 3/52).
Scotland 163 all out in 29 overs (Chris Greaves 56*, Christopher McBride 29; Maheesh Theekshana 3/41; Wanindu Hasaranga 2/42).
Ireland beat United Arab Emirates at Bulawayo Athletic Club, Bulawayo by 138 runs.
Ireland 349 for four in 50 overs (Paul Stirling 162, Andy Balbirnie 66, Harry Tector 57; Sanchit Sharma 3/46).
UAE 211 all out in 39 overs (Muhammad Waseem 45, Sanchit Sharma 44; Curtis Campher 2/14, Josh Little 2/30).