Suranga Lakmal took four for 27 to set up Sri Lanka for a 10-wicket win over Zimbabwe in the first Test in Harare on Thursday.
Resuming on 30 without loss and needing 157 to make Sri Lanka bat again, Zimbabwe recovered from the loss of three early wickets to Lakmal to reach lunch at 120 for three.
The tall pace bowler struck again immediately after, removing Brendan Taylor for 38, and Zimbabwe slumped to 170 all out, losing their last seven wickets for 50.
Sri Lanka needed just 14 to win and the openers Oshada Fernando and Dimuth Karunaratne knocked off the runs in three overs.
Angelo Mathews was named man of the match for his 200 not out in Sri Lanka's first innings of 515 for nine declared.
"I wanted to go for a biggy," said Mathews after the game. "It was very slow going and they gave nothing away with their umbrella field.
"We didn't want to bat in the fourth innings. There was some variable bounce and turn. We wanted a lead of 160 so I had to make sure we got there."
Zimbabwe, who had four debutants in their team, began the day with high hopes of wiping out that lead and saving the first Test they have played since November 2018.
Lakmal, however, was quick to make inroads, removing the top three, all left-handers, in his first three overs as Zimbabwe crumbled to 41 for three.
In his first over, the second of the day, Lakmal found some extra bounce to induce an edge from Prince Masvaure which carried through to wicketkeeper Niroshan Dickwella.
In his next two overs he had the other opener Brian Mudzinganyama, who had been drafted in for the concussed Kevin Kasuza, leg before and Craig Ervine, who made 85 in the first innings, caught at short leg.
Three wickets had fallen for eight runs and Zimbabwe were sinking before Sean Williams and Taylor temporarily steadied the ship with some positive batting on a surface that remained largely benign in spite of the occasional ball keeping low.
At lunch they had added 79 and taken Zimbabwe to 120 for three, still 37 short of making Sri Lanka bat again.
Both, however, were dismissed without adding any further runs in the first eight balls after lunch.
Lakmal had Taylor caught at mid-on and Kasun Rajitha prompted Williams to feather a catch to Dickwella for 39.
The keeper then produced a smart stumping to remove Sikandar Raza off some probing left-arm spin from Lasith Embuldeniya.
Zimbabwe added just 32 in 29 overs in the afternoon session, slipping further into the mire just after clearing the arrears when Lahiru Kumara used the new ball to blast out Donald Tiripano, Kyle Jarvis and Ainsley Ndlovu.
Regis Chakabva scratched 26 from 142 balls before being bowled by Embuldeniya to set up the Sri Lanka target.
"The guys tried their hardest," said Zimbabwe captain Williams. "There are going to be hurdles that we have to cross as a team."
The second Test starts in Harare on Monday.