London - Gary Ballance came to England's rescue with a maiden Test hundred after Sri Lanka threatened to seize control at Lord's on Sunday.
England were 267 for eight in their second innings at stumps on the fourth day of the first Test, a lead of 389 runs.
The 24-year-old Ballance, entrusted with the key number three position in only his second Test, was 104 not out after going to his century in the last over of the day with a six off spinner Rangana Herath.
Left-hander Ballance had earlier added 78 for the seventh wicket with debutant Chris Jordan after a top-order collapse.
Sri Lanka now needed to surpass the highest fourth innings total to win a Test at Lord's -- 344 for one, requiring 342, by the West Indies against England in 1984 -- if they were to go 1-0 up in this two-match series.
Things looked very different for England as they slumped to 121 for six after Shaminda Eranga took three quick wickets and left-armer Herath followed up with a quick double strike of his own on the way to figures of four for 95 in 23 overs.
It was a collapse witnessed by Kevin Pietersen, watching from a sponsor's box at Lord's, with the South Africa-born batsman, England's all-time leading run-scorer across all formats, ditched after the 5-0 Ashes drubbing in Australia.
But two more players originally from overseas in Ballance (Zimbabwe) and Jordan (Barbados) kept Sri Lanka at bay.
Both attacks in this match had been frustrated by a docile Lord's pitch.
Eranga though defied the sluggish surface with a spell of three wickets for three runs in 21 balls.
England captain Alastair Cook was caught behind for 28 before Australia-born Robson completed an unsuccessful England debut on his Middlesex home ground by being bowled off the inside edge for 19.
Eranga dismissed Bell in similar fashion to leave England 69 for three.
Joe Root walked out, having made an unbeaten 200 in England's first innings 575 for nine declared after coming in at 74 for three.
But this time Root was lbw for 15 to a clever Herath ball that skidded on and hit him on the back leg.
- Clean-bowled -
Moeen Ali, one of three England debutants along with Robson and Jordan, confidently drove Herath straight back over the bowler's head for four.
But next ball Herath, spinning one out of the rough, clean-bowled Ali after the left-hander went to drive.
Matt Prior had made 86 in the first innings of his comeback Test.
But when the wicketkeeper played his favourite cut shot off Nuwan Kulasekara, he guided the ball straight to gully and was out for 16.
Sri Lanka reckoned they had Ballance caught behind off Eranga for 36 as the Yorkshire batsman went to cut.
However, Paul Reiffel ruled not out. Sri Lanka challenged the former Australia seamer's decision but, with replay technology inconclusive, Ballance survived.
Meanwhile Jordan drove Nuwan Pradeep down the ground to take the lead past 300.
Jordan though fell for 35 when he was deceived by Herath and got a leading edge to mid-off.
Ballance then struck two resounding boundaries, a cover-drive and a pull, in successive Eranga deliveries to enter the 90s.
He then then cheekily reverse-swept Herath for four to go to 94 before reaching his century in the grand manner with a swept six off the spinner.
Ballance's hundred came in 184 balls, including 12 fours, with the batsman needing just 54 balls for his second fifty.
Sri Lanka resumed Sunday on 415 for seven, having avoided the follow-on thanks mainly to Kumar Sangakkara's 147 on Saturday.
Sri Lanka captain Angelo Mathews, 79 not out overnight, went to a well-deserved century when he cover-drove a James Anderson full-toss for four.
But one ball after reaching three figures, Mathews was lbw to fast bowler Liam Plunkett for 102.
He batted for just under four hours and faced 172 balls, including 12 fours, with Sri Lanka eventually all out for 453 to give England a first-innings lead of 122.