England pulled off a dramatic victory in the first Test after Sri Lanka were bowled out for their joint fourth lowest total following four-wicket hauls from off-spinner Graeme Swann and pace bowler Chris Tremlett on Monday.
Swann took 4-16 and Tremlett 4-40 as England bowled Sri Lanka out for 82 at Sophia Gardens to win by an innings and 14 runs for a 1-0 lead in the three-match series.
The last eight wickets fell for 49 runs in 12 overs as England clinched victory in the final session after the Test had seemed destined to end in a draw. Thisara Perera was Sri Lanka's top-scorer with 20.
A draw had seemed inevitable after England had declared on 496-5 as soon as Ian Bell completed his century, by clipping a delivery from Perera to the third-man boundary.
Bell, who finished on 103 not out from 159 balls with one six and 11 fours, raised his arm to celebrate and immediately ran off the field, accompanied by Eoin Morgan, who finished on 14 not out.
That gave England a slender lead of 96, but hopes of an improbable home victory were ignited when Tremlett struck with the 12th ball of the Sri Lanka innings to remove Tharanga Paranavitana, who edged a catch to England captain Andrew Strauss.
Tremlett struck again eight balls later, catching Tillakaratne Dilshan off his own bowling. Dilshan referred the decision but replays showed the ball had grazed his glove.
Kumar Sangakkara lived dangerously, slicing Tremlett over the slips for two, but survived with Mahela Jayawardene to the tea interval, leaving Sri Lanka 63 behind with a minimum 39 overs remaining.
After four days of largely sterile cricket, the evening session proved every bit as exhilarating as that of the last Test played here, when England drew with Australia in 2009.
Tremlett struck with the fifth ball of the session, drawing an edge from Jayawardene that flew to Strauss at slip.
Thilan Samaraweera was out for a duck, playing a Graeme Swann delivery onto his stumps and Swann then claimed the key wicket of Sangakkara, who edged to Strauss.
Reeling on 43-5, Sri Lanka then lost two wickets without adding a run.
Farveez Maharoof went for 0, after unsuccessfully referring his dismissal, caught behind to Swann.
Prasanna Jayawardene then followed for 3, given out caught behind to Tremlett after a referral from England.
Swann trapped Rangana Herath lbw for 3, but Perera was temporarily reprieved when a Stuart Broad delivery looped up off his handle, only for Ian Bell to collide with substitute fielder Stewart Walters while attempting to make the catch.
In Broad's next over, Perera was brilliantly caught for by a diving Bell at short leg and an astonishing win was completed when the last man, Suranga Lakmal, was caught in the slips by Alastair Cook off Broad.