England's Jonny Bairstow compiled his first century at Lord's - and his second of the series - to ensure the hosts finished on 6-279 after the opening day of the final Test against Sri Lanka.
Captain Alastair Cook earlier fell for 85, shy of his 29th Test century, as the tourists hit back before tea but Bairstow, in the form of his life, ensured England regained control in the final session, scoring his third Test hundred of the year.
The Yorkshireman, who scored 140 in the opening Test, was unbeaten at the close on 107, compiled off 164 balls with 13 fours.
Yet Sri Lanka, who had at one point reduced England to 4-84 and looked in the mood to make a game of it, having lost the first two Tests of the series, will kick themselves for not snapping up Bairstow's wicket.
He was dropped by Shaminda Eranga at mid-wicket when he was on 11, could easily have been run out later and then survived the closest of lbw reviews off Eranga on 56.
— England Cricket (@englandcricket) June 9, 2016
Bairstow, who narrowly missed a place on the Lord's honours board when dismissed for 95 against South Africa four years ago, made no mistake this time, pushing Rangana Herath to leg side to reach three figures off 160 balls before roaring in delight.
"It feels like it should have happened a few years ago," said Bairstow. "It's something every boy dreams about. You could see I was pretty emotional.
"I'm enjoying my cricket and hopefully people are enjoying watching my cricket."
Cook and Bairstow did the most to steer the hosts away from trouble but the captain was undone by a beauty from seamer Nuwan Pradeep.
Angling one in, Pradeep trapped Cook plumb lbw to swing the day back towards the visitors after he and Bairstow put on 50.
It was Pradeep's second wicket of the day after he had bowled James Vince in the fourth over after lunch for 10.
England elected to bat on a pitch that looked ripe for scoring.
Cook, presented with a silver bat before the match after becoming the first English batsman to reach 10,000 Test runs, eased his side comfortably through the first hour.
Sri Lanka looked headed for a hard day when Cook and Alex Hales reached the 50 mark in the 12th over.
But at lunch the hosts were reduced 3-74 after losing the wickets of Hales, Nick Compton and Joe Root.