Kumar Sangakkara hit his first Test century at Lord's to ensure that Sri Lanka dominated the third day of the first Test.
The middle-order batsman hit 147 as the visitors avoided the follow-on target of 376, with captain Angelo Mathews unbeaten on 79 and Mahela Jayawardene scoring 55.
Having come into the session on 121 not out, Sangakkara continued his impressive form to the dismay of England.
However, Moeen Ali was gifted his first Test wicket by Sangakkara with a cut into Matt Prior's gloves, and Liam Plunkett and Chris Jordan claimed a scalp apiece to leave Sri Lanka on 415-7 compared to England's 575-5 at the end of play.