Sri Lanka's Kaushal Silva and Kumar Sangakkara offered stubborn resistance on the second day of the opening Test after Joe Root put England in control by hitting his maiden Test double ton.
The 23-year-old Root, dropped for the final Ashes Test during England's 5-0 whitewash Down Under, brought up his 200 with a dab behind square after a well compiled innings that featured 16 boundaries from 298 balls.
Alastair Cook immediately declared the innings on 575-9, leaving Sri Lanka openers Silva and Dimuth Karunaratne to negotiate a tricky spell before tea.
Karunaratne, who successfully overturned an lbw appeal off James Anderson in the first over and offered a chance to the slips soon after, fell to Chris Jordan's third ball in Test cricket when on 38, edging to Matt Prior behind the stumps.
However Silva (62) and Sangakkara (32) battled their way through to 140-1 at the close, although the former was lucky to survive a caught-behind appeal off Stuart Broad on his way to his fourth half-century, with the third umpire ruling Prior had not claimed the catch cleanly.
Root, yet to nail a position in the line-up during his short Test career, was offered good support by Jordan, Broad and Liam Plunkett as the hosts looked to bat Sri Lanka out of the match against a bowling attack that lacked any real threat after an early three-wicket blast on the first morning of the test.
Root's 200 beat his previous best of 180, also scored at Lord's against Australia last year, and helped rescue his side after they were struggling at 120 for four soon after lunch on the first day.