Stuart Broad took the final wicket as England condemned Sri Lanka to defeat by an innings and 14 runs in the first npower Test of the summer.
Broad finished with 2-21 as England secured a victory that had looked unlikely at the start of the final day.
After declaring on 496-5, underpinned by centuries from Alistair Cook and Ian Bell and a double hundred from Jonathan Trott, Chris Tremlett removed openers Paranavitana and Dilshan as Sri Lanka slipped to 10-2.
In a disastrous second innings, the tourists collapsed to 82 all out with no batsman surpassing 20 runs.
"I don't think any of us thought there was a huge possibility of a result at the start of play but we had a lot of overs to bowl and knew that Sri Lanka would find it harder and harder if we made early inroads," said England Captain Andrew Strauss.
"We've been on the receiving end of it before but you can never relax in this game and all credit to the guys for the way they came out this afternoon.
"It was hard work in the first innings but we stuck to our task and gave context to it by the way we batted."
Graeme Swann finished with 4-16 from seven overs as Sri Lanka failed to find a method to counter his off-spin.
Tickets are available for England's NatWest Series One Day International against Sri Lanka at Trent Bridge on Wednesday 6 July.