Keaton Jennings’s first century since his 2016 debut helped England put Sri Lanka on the ropes in the first Test on Thursday, setting the hosts a daunting 462 to win at notoriously low-scoring Galle.

The visitors declared at 322 for six on day three with Jennings 146 not out after a patient innings that saw the under-pressure opener deal deftly with the hosts’ spin attack.

At the close, Sri Lanka were 15 without loss after Dimuth Karunaratne and Kaushal Silva hung on for seven overs, leaving a further 447 to make at a ground where no team has successfully chased more than 99.

England, with a 139-run first-innings lead and 38-0 overnight, lost a somewhat shaky Rory Burns, brought in to fill the huge shoes of the retired Alastair Cook, in the morning session, run out for 23.

Moeen Ali, out first ball in the first innings, fared little better in the second, driving straight to Rangana Herath at mid-on off Dilruwan Perera for three.

Herath, in his last game before retiring having got his landmark 100th wicket at Galle, then got England captain Joe Root out for the second time in the match, caught behind for three.

But Jennings looked comfortable against the spin of Perera and the others. An LBW appeal when Jennings was on 58 was turned down and Sri Lanka chose — erroneously it turned out — not to review.

Ben Stokes hit a brisk 62 off 93 balls that saw three sixes, including one back over Perera’s head and an almighty sweep high over midwicket off Dhananjaya de Silva to bring up the 300.

Shortly before tea he became Perera’s second scalp, a demon of a ball pitching outside leg and angling back to take the Durham all-rounder’s off stump.

Jos Buttler smashed a quick 35 before being caught off Herath while Ben Foakes, the centurion hero of the first innings, belted out 37 before falling to spinner Akila Dananjaya.

Sleepless nights

Jennings’s performance will go some way to silencing his critics — many of whom were calling for him to be dropped after a poor series against India this summer when he averaged just 18.

Having scored 112 at Mumbai in December 2016 on his debut, he was axed after a disastrous tour of his native South Africa in 2017. He returned against Pakistan in May this year.

After stumps on Thursday the 26-year-old conceded that the past 18 months had been “really tough”.

“I’ve faced some things in my cricketing life I’ve had to learn from. I’ve had to develop myself,” Jennings said.

“It’s just really pleasing and a big thank you to the people who have stuck with me over the last 18 months, backed me through some tough times, waking in the night panicking and stressing,” he said.

“When you’re waking up at 6.30 in the morning and reading about your technical deficiencies it’s not human to say it wouldn’t affect you,” he added.

“I have only watched Keaton Jennings live in two test matches and he has got a hundred in both I must be his lucky charm !!!,” former England great Allan Lamb said on Twitter.

“Well played fantastic and thoroughly deserved by the hard work.”

‘Not impossible’

Sri Lanka’s spin bowling coach Piyal Wijetunge said however that the hosts still have a chance to win, in part because the notorious Galle wicket is behaving differently this time.

“There is a big challenge, but it’s not the kind of wicket we usually see in Galle. If the batsmen do their duty, the 440-odd that we need will be tough, but it’s not impossible,” he said.

Sri Lanka’s best hope though is the weather, with rain playing havoc with the series so far and thunderstorms forecast for Galle on Friday and on Saturday — should the hosts survive day four.