Sri Lanka captain Mahela Jayawardene combined luck and pluck to hit his 30th Test century and steer the hosts to a respectable 289 for eight wickets on day one of the first Test against England on Monday.
The 34-year-old right-hander remained not out on 168, his seventh Test century against England, after a stellar 290-ball knock that stood out in a scorecard where the second highest score was Dinesh Chandimal's 27.
Jayawardene, who hit 20 fours and three sixes, had Chanaka Welegedara (10) for company at stumps.
His cause was helped by England's sloppy fielding with the visitors dropping him on 64, 90, 147 and 152. Monty Panesar was the chief offender, flooring two catches after England had taken the second new ball.
"The first session I had to dig deep because we lost wickets...later I could play some shots," Jayawardene, who passed 2,000 Test runs at the venue, told Sky Sports.
The home team captain figured in half-century partnerships with Thilan Samaraweera (20), Dinesh Chandimal (27) and Prasanna Jayawardene (23) but none of this partners stayed long.
"Mahela played unbelievably well, it's probably one of the best Test innings I've ever seen," James Anderson (3-56), the pick of the English bowlers, said.
England's persistence on the field paid off as they took wickets consistently in the three sessions. They picked up three in the final session before the new ball was taken.
Anderson took his third for the day when he trapped Prasanna Jayawardene lbw off the fifth ball after tea.
Suraj Randiv followed him for 12, failing to beat Andrew Strauss's direct throw, and debutant Samit Patel took his second wicket when he trapped Rangana Herath (five) lbw.
Earlier, England new ball bowlers Anderson and Stuart Broad had rocked Sri Lanka in their opening spells, claiming three quick wickets before the hosts staged a recovery.
On a dry batting track, Sri Lanka's delight at winning the toss and taking first lease of the wicket was short-lived as they slumped to 15 for three within the first 24 minutes of play.
Anderson struck first, forcing Lahiru Thirimanne (three) to edge a catch to Graeme Swann at third slip when the batsman poked at a delivery without moving his feet.
Anderson struck again with his next delivery, sending back Kumar Sangakkara, the number-one ranked test batsman, for a first-ball duck when he pushed at a full-length delivery for an edge to wicket-keeper Matt Prior.
Jayawardene survived Anderson's hat-trick delivery but Broad struck in the following over when he had Tillakaratne Dilshan (11) edging a catch to Strauss at first slip.
England wasted both their reviews inside the first 23 overs.
Just when they were showing signs of a recovery, Sri Lanka lost Samaraweera immediately after lunch when he was run out in the third over of the afternoon.
England picked the bonus wicket of Chandimal who top-edged a catch to Ian Bell at cover to give debutant Patel his first Test wicket.
Sri Lanka coach Graham Ford praised his team for their fighting spirit.
"Lots of sides would have faltered under the pressure from the situation we were in earlier on today, but...what I have come to know of these lads working with them over the last six-seven weeks is that they show huge character.
"They are never down and out and they are always fighting back," he added. "I can't honestly say enough of the quality of Jayawardene's innings."
Sri Lanka (1st innings):
L. Thirimanne c Swann b Anderson 3
T. Dilshan c Strauss b Broad 11
K. Sangakkara c Prior b Anderson 0
M. Jayawardene not out 168
T. Samaraweera run out 20
D. Chandimal c Bell b Patel 27
P. Jayawardene lbw b Anderson 23
S. Randiv run out 12
R. Herath lbw b Patel 5
C. Welegedara not out 10
Extras: (lb-6, nb-4) 10
Total: (for eight wickets, 90 overs) 289
Fall of wickets: 1-11, 2-11, 3-15, 4-67, 5-128, 6-170, 7-191, 8-253.
Bowling: Anderson 17-5-56-3, Broad 18-1-66-1, Panesar 23-11-42-0, Swann 23-3-92-0, Patel 9-1-27-2.
Photograph: Tom Shaw/Getty Images