Left-arm spinner Rangana Herath claimed a career-best match haul of 12 wickets to bowl Sri Lanka to a 75-run victory in the first Test, as England slumped to their fourth defeat in a row, on Thursday.
The world's top-ranked side, beaten 3-0 by Pakistan in their most recent series and chasing 340 for victory in Galle, was bowled out for 264.
Man of the match Herath took six for 97 to add to his first-innings return of six for 74.
Jonathan Trott's century gave England a great chance to pull off an unlikely win until the match took a dramatic turn in the last 20 minutes before tea when they lost three wickets for seven in 24 balls.
Herath's spin partner Suraj Randiv had James Anderson (5) caught behind before removing last man Monty Panesar for a duck with the next ball.
The 34-year-old Herath picked his first 10-wicket haul in his 36-Test career but Sri Lanka were indebted to three outstanding catches on Thursday.
Randiv had the defiant Trott (112) brilliantly caught low down at leg slip by Tillakaratne Dilshan.
Trott had mixed caution with aggression, hitting 10 fours in his 266-ball vigil.
He survived a caught and bowled chance off Herath on 62 when the spinner failed to hold on to a leading edge.
Herath broke a threatening fifth-wicket partnership of 81 between Trott and Matt Prior (41) when he had the England wicketkeeper superbly caught at short-leg by Lahiru Thirimanne.
Prior attempted a sweep but the ball got stuck in the fielder's midriff and he hung on for the catch.
Samit Patel was then expertly caught for nine by Dilshan at cover and Herath followed up by trapping Graeme Swann lbw for one in the last over before tea.
Earlier, England lost Kevin Pietersen (30) and Ian Bell (13) in the morning session after resuming on 111 for two.
Sri Lanka struck in the third over of the day when Pietersen, stifled by tight bowling, went down the track to Randiv but only managed to spoon a catch to Mahela Jayawardene at short mid-wicket.
His dismissal ended a third-wicket stand of 70 with Trott.
Bell hung around for more than an hour before he was given out lbw to Herath despite playing forward at full stretch.
The ball dipped late and hit Bell low on his pads, a decision which he reviewed unsuccessfully as he trudged off convinced he had made contact.
The second and final Test in Colombo starts on Tuesday.
Scorecard
Sri Lanka (1st innings): 318
England (1st innings): 193
Sri Lanka (2nd innings): 214
England (2nd innings): (overnight 111-2)
A. Strauss c Dilshan b Herath 27
A. Cook c P. Jayawardene b Herath 14
J. Trott C Dilshan b Randiv 112
K. Pietersen c M. Jayawardene b Randiv 30
I. Bell lbw b Herath 13
M. Prior c Thirimanne b Herath 41
S. Patel c Dilshan b Herath 9
S. Broad not out 5
G. Swann lbw b Herath 1
J. Anderson c P. Jayawardene b Randiv 5
M. Panesar c Dilshan b Randiv 0
Extras: (lb-6, w-1) 7
Total: (all out, 99 overs) 264
Fall of wickets: 1-31, 2-48, 3-118, 4-152, 5-233, 6-252, 7-256, 8-259, 9-264.
Bowling: Welegedara 13-2-40-0, Lakmal 10-5-22-0, Herath 38-9-97-6, Dilshan 12-1-25-0, Randiv 26-2-74-4 (1w).
Sri Lanka lead the two-match series 1-0.
Photograph: Tom Shaw/Getty Images
Trott, Pietersen keep England in the chase
Swann leads England fightback as 17 wickets fall
We've played some very good cricket at home: Fletcher
Jayawardene frustrates England with defiant hundred
Sri Lanka recall Randiv, Prasanna for England series