Muttiah Muralitharan bowled two magical deliveries when it mattered most to hand Sri Lanka an 88-run win over a fighting England in the first Test here on Wednesday.
The off-spinner, who became Test cricket's most successful bowler in the first innings, got out Matt Prior and Ian Bell in the space of three deliveries with the second new ball to end England's spirited challenge.
The tourists, needing to bat out the final day for a draw after being set an improbable victory target of 350, were bowled out for 261 in the last hour of the match at the Asgiriya stadium.
Sri Lanka took a 1-0 lead in the three-match series going into the second Test, which opens at the Sinhalese Sports Club in Colombo on Sunday.
England, who resumed the final day at 9-1 in their second knock, slumped to 90-5 in the morning session before Bell (74) launched a heroic rescue attempt in the company of the lower order batsmen.
He put on 49 for the sixth wicket with debutant Ravi Bopara (34) and a defiant 109 for the seventh with wicket-keeper Prior (63) that threatened to frustrate Sri Lanka's victory bid.
Muralitharan, kept wicketless for 31 overs, struck in his second over with the new ball when he floated a straight one to Prior, who missed the line and was bowled.
Two balls later in a new over, Muralitharan bowled Bell to effectively seal his side's victory. Bell's knock followed his 83 in the first innings.
Muralitharan claimed a third wicket when he earned a lucky leg-before decision against Ryan Sidebottom from Pakistani umpire Asad Rauf with television replays showing a clear edge from the bat.
Fast bowler Lasith Malinga yorked Matthew Hoggard to signal Sri Lanka's thrilling victory in front of 7,000 spectators, including at least 3,000 travelling English supporters.
The early damage was done by the seamers as veteran left-armer Chaminda Vaas, playing his 100th Test, claimed the first three wickets of the innings and Dilhara Fernando chipped in with two.
Vaas, who dismissed opener Alastair Cook on Tuesday evening, put England on the back foot by removing captain Michael Vaughan in the morning's fourth over.
Vaughan groped for 25 balls to score five when he failed to take his bat out of harm's way and edged the outswinger to wicket-keeper Prasanna Jayawardene.
In his next over, Vaas bowled nightwatchman James Anderson for 11 as England slipped to 27-3.
Kevin Pietersen showed no discomfort from a broken finger in his right hand, sustained while batting in the first innings, as he attacked from the start with four superbly timed boundaries.
Pietersen hit Malinga to the straight field, drove Vaas through the covers and then welcomed Fernando with two consecutive fours.
Fernando, however, had the last laugh as Pietersen edged a ball that kept low on to his stumps and departed for 18.
Fernando, the third seamer in the home team after Vaas and Malinga, claimed his second wicket soon after when Paul Collingwood (16) failed to keep a cover drive down and was snapped up by Kumar Sangakkara.
England lost Bopara in the fourth over after resumption when he was trapped leg-before by Sanath Jayasuriya, who retired from Test cricket after the match.
Sangakkara was named man of the match for his match-winning 152 in the second innings.