Alastair Cook struck 96 and Eoin Morgan added 79 after England had stumbled to 22-3.
London: Alastair Cook and Eoin Morgan led an England recovery to 342-6 against Sri Lanka on Friday, giving the home side a slight edge at the close on day one of the second Test.
Cook struck 96 and Morgan added 79 after England had stumbled to 22-3 in eight overs, having been put in to bat by Sri Lanka at Lord's. Matt Prior weighed in late on with 73 not out.
Playing each ball on its merits, Morgan struck 10 fours and two sixes off 128 deliveries at No. 6 to further advance his claims to replace the retired Paul Collingwood. He fell lbw half an hour before the close to Suranga Lakmal, who finished with 3-79.
Tillakaratne Dilshan's seemingly defensive choice to bowl first under mostly clear skies paid off early but looked less wise as England improved on a good batting surface.
With Sri Lanka's attack tiring, Prior plundered his runs from 83 balls and Stuart Broad made it to 17 not out.
But Morgan's dismissal, given by the TV umpire after Billy Doctrove originally ruled it not out, at least means Sri Lanka has hope of an early breakthrough Saturday with England's tail exposed.
Morgan had looked well set to carry England to a strong position but Dilshan tossed the new ball to Lakmal, who trapped the batsman with a ball that was hitting leg stump.
England might have expected to keep more wickets in hand on a true surface, but Andrew Strauss, Jonathan Trott and Kevin Pietersen all fell to indifferent batting rather than noteworthy bowling.
Things could have been even worse for the home side but, with Muttiah Muralitharan and Lasith Malinga both retired, Sri Lanka's bowling deteriorated from unremarkable before lunch to occasionally mediocre as Dilhara Fernando leaked runs and struggled with his length.
With momentum swinging back and forth, Ian Bell scratched out 52 to steady the innings in a fourth-wicket stand of 108 with Cook, who had looked sure to become the sixth Englishman to hit a century in three consecutive test innings but mis-timed a pull shot off Fernando and skied it to the fielder mid on.
Bell was caught at slip by Tharanga Paranavitana off Chanaka Welegedara before Cook made a mistake that was oddly uncharacteristic for a man who scored a total of 766 against Australia in England's most recent test series.
Morgan showed his intent against Welegedara with a sweet drive back past the bowler for four. Morgan helped himself to another boundary in the next over, hitting Rangana Herath over the top, and soon stepped forward to smash the spinner for a huge six to mid on — taking England to 150 from 272 balls.
Morgan escaped on 35 when an inside edge off Fernando narrowly missed his stumps and went for four. He refocussed to hit his next runs from a six, standing his ground to smash the ball back over the head of bowler Dilshan.
Cook was next out but Morgan reached an 86-ball half century that included seven fours and two sixes, and Prior hit a pair of backward leaning offside cuts off Farveez Maharoof in the 75th over to keep the scoreboard rolling.
England looked set to go in with only five wickets down, but Dilshan's bowling change paid off.
Dilshan had opted to field first. possibly in reaction to Sri Lanka's heavy defeat in the first test, when it scored 400 after choosing to bat but lost by an innings and 14 runs.
Welegedara ended the day with 2-65, but, while Sri Lanka has bowling concerns, England has problems of its own.
Strauss scored just a single boundary from 12 deliveries before he fell lbw to Welegedara, leaning across a delivery that was on course to clip the top of leg stump. Trott, whose 203 in the first test meant he averaged a remarkable 66.77 going into the match, went the same way to Lakmal for just 2.
Pietersen's poor form continued as he drove at a swinging delivery from Lakmal and was caught by Dilshan, also for 2.