Victory gave England an unassailable 2-0 lead in the three-match series.
Congratulations @englandcricket #EngvSL #InvestecTest series 2-0 https://t.co/1RR9hPRaJx
— England and Wales Cricket Board (@ECB_cricket) May 30, 2016
England, set 79 to win after making Sri Lanka follow on, finished on 80 for one.
Shoaib Akhtar shares 'dream team' with Twitter fans
England captain Alastair Cook was 47 not out, having become the first Englishman and only 12th player overall to score 10,000 Test runs when he reached five.
Nick Compton (22 not out) hit the winning runs when he pulled left-arm spinner Milinda Siriwardana for four at a Riverside ground bathed in sunshine.
England, after winning the toss, piled up 498 for nine declared featuring Moeen Ali's Test-best 155 not out as well as Alex Hales's 83 and Joe Root's 80.
Here's what Yousuf thinks of the T20 format
In reply, Sri Lanka collapsed to 101 all out, with Stuart Broad taking four for 40.
That meant Sri Lanka became the first side since New Zealand in England back in 1958 to be bowled out for under 120 in three successive Test innings after their totals of 91 and 119 during an innings and 88-run defeat in the first Test at Headingley.
But, having been made to follow-on, Dinesh Chandimal's 126 as well as fifties from skipper Angelo Mathews, Rangana Herath and Kaushal Silva, helped take Sri Lanka to 475 in their second innings.
James Anderson, already England's all-time leading Test wicket-taker, took five for 58.
The third and final Test starts at Lord's on June 9.
Brief scores
England 498-9 dec (M Ali 155 no, A Hales 83, J Root 80; N Pradeep 4-107) and 80-1 beat Sri Lanka 101 (S Broad 4-40, C Woakes 3-9, J Anderson 3-36) and 475 (D Chandimal 126, A Mathews 80, R Herath 61, K Silva 60; J Anderson 5-58) by 9 wkts.
Series: England lead three-Test series 2-0.
COMMENTS (1)
Comments are moderated and generally will be posted if they are on-topic and not abusive.
For more information, please see our Comments FAQ