England 290 (Curran 64, Buttler 63, Dilruwan 4-61) and 346 (Root 123, Foakes 65*, Burns 59, Dananjaya 6-115) beat Sri Lanka 336 (Silva 85, Karunaratne 63, de Silva 59, Leach 3-70, Rashid 3-76) and 243 (Mathews 88, Leach 5-83, Ail 4-72) by 57 runs
Kandy: Moeen Ali struck twice and Jack Leach claimed his maiden five-wicket haul to bowl England to their first series win in Sri Lanka since 2001 with a 57-run victory in the second Test at Pallekele International Cricket Stadium, Kandy on Sunday.
The hosts resumed on 226-7, needing 75 more, and calmly added 14 in 28 balls.
But Moeen drew Niroshan Dickwella into edging to first slip for 35, before bowling Sri Lanka captain Suranga Lakmal two balls later for a duck.
Leach had Malinda Pushpakumara caught and bowled soon after to seal the win.
England lead the three-match series 2-0 with the final Test in Colombo starting on Friday.
It is England's first away series win since beating South Africa in 2016 and first away series victory under captain Joe Root.