The tourists set a winning target of 301 after being bowled out for 346 on the fourth morning, Ben Foakes finishing 65 not out after he and James Anderson added a further 22 for the final wicket.
By lunch at Pallekele Stadium Sri Lanka's prospects of completing the chase had diminished considerably, Leach's triple strike leaving them 93 for three and relying on the burgeoning partnership between Dimuth Karunaratne (54no) and Angelo Mathews (28no).
Above all else the home side would have wanted a stable opening partnership, at least enough to plant the seeds of doubt about the manageability of the pitch.
Instead Leach, used from the start with Sam Curran off the field receiving treatment for a side injury, tempted Kaushal Silva down the track in his second over.
The hard Kookaburra turned heartily and bounced obligingly, foxing the batsman but not Foakes, who completed a difficult stumping with nonchalance.
Leach's second victim, Dhananjaya de Silva, was not so much beaten by the left-armer as by Keaton Jennings' stunning reflex catch at short-leg.
Jennings was instinctively tumbling away from a full-face connection when he flung a hand out and clung on brilliantly.
When Kusal Mendis was given lbw on the sweep, England wisely calling for DRS, Sri Lanka were 26 for three and adrift.
An unbroken 67-run stand for the fourth wicket offered a warning that the deal was not yet done but both men had scares.
Karunaratne was given lbw to Adil Rashid just before lunch, gambling on a review which showed the ball spinning too much and missing leg stump, while Mathews was dropped on seven when Ben Stokes put down a low, wide chance at slip.