England claimed their first series win in Sri Lanka since 2001 with a 57-run victory in the second Test.
The hosts started day five in Pallekele on 226-7, needing 75 more, and calmly added 14 in 28 balls.
But Moeen Ali drew Niroshan Dickwella into edging to first slip for 35, before bowling captain Suranga Lakmal two balls later for a duck.
Jack Leach removed Malinda Pushpakumara to bowl Sri Lanka out for 243 and claim his maiden Test five-wicket haul.
England lead the three-match series 2-0, with the final Test in Colombo starting at 04:30 GMT on Friday.
It is England’s first away series win since beating South Africa in 2016 and first series victory away from home under captain Joe Root.
Spinners took 38 wickets in the match, a record in Test cricket.
More of the same is likely in Colombo but unlike previous years England can match Sri Lanka’s spin attack (now minus Herath) and their batting is far deeper thanks to their slew of all-rounders.
England might rotate their line up with Curran injured and Bairstow ready to come back into the team but it would be a surprise if England did not win at 8/11 with Bet365