Rangana Herath became just the third bowler to pick up five-wicket hauls against all nine Test opponents on Tuesday and he helped Sri Lanka to a big first-innings on day three against Zimbabwe on Tuesday.
Herath recorded figures of 5-89 - his first five-wicket haul against Zimbabwe - to bowl the home side out for 272 and give Sri Lanka a 232-run lead in the first innings in Harare.
But after the tourists opted not to enforce the follow-on, fast bowler Carl Mumba picked up three wickets to reduce Sri Lanka to 4-84.
Quick single: Umpires must be 'brave' on lbw calls
With opener Dimuth Karunaratne scoring an unbeaten 54 - his third fifty-plus score in four innings - Sri Lanka went to stumps on 4-102, giving them an overall lead of 334 with two days to play.
Although Herath had come into the series with 26 five-wicket hauls in Test cricket, he had never played Zimbabwe in his 17-year career.
On Tuesday he joined countryman Muttiah Muralitharan and South Africa’s Dale Steyn among an elite group of bowlers with five-wicket hauls against all of the other nine Test-playing nations.
"If you take my career until 2009, I had only taken about 40 wickets with no five-wicket hauls," Herath said. "So if you take the last seven or eight years, I’ve done a consistent job for the national team. It’s a different sort of achievement, which makes me very happy."
Although Zimbabwe reached 2-134 on the third morning in reply to Sri Lanka's first innings total of 504, they ultimately succumbed to spin, with off-spinner Dilruwan Perera picking up 3-51 as the hosts lost their last five wickets for just 19 runs.
However, it was fast bowler Suranga Lakmal who set Sri Lanka on their way in the morning session, which saw Zimbabwe resume on 2-126, when he had Craig Ervine caught at slip for 64 in the eighth over of the day.
Herath got in on the action when he bowled Brian Chari for a career-best 80 with a quicker delivery, and then dismissed Malcolm Waller for 18 on the stroke of lunch.
Zimbabwe had been rescued by their lower order in the first Test, but after the interval Perera ensured there would be no such recovery as he grabbed three wickets in three overs, including Sean Williams for 58 and Peter Moor for 33.
Quick single: Injury puts Siddle out of second Test
All that was left was for the stand-in captain to pick up a record fifth wicket, as he trapped Carl Mumba lbw.
Sri Lanka then tumbled to 44 for three in their second innings, as Zimbabwe’s bowlers were rewarded for greater consistency.
Mumba had Kaushal Silva and Kusal Mendis caught in front of the wicket, while Cremer trapped Upul Tharanga lbw.
First-innings centurion Dhananjaya de Silva attempted to rebuild with Karunaratne, but scooped a low full toss straight to extra cover in the final half-hour of the day.
Nevertheless, Zimbabwe faced a serious deficit as they look to level the two-match series.
"Let’s be honest, if they put another 100 on it will be a lot," said Zimbabwe batting coach Lance Klusener. "But at the same time we’d like to finish this Test match on our terms."