On the third day of a Galle Test that has defied most predictions, Keaton Jennings produced an exceptional, unbeaten hundred, Ben Stokes provided a half-century and Ben Foakes and Jos Buttler made middling contributions to propel England to a virtually unassailable position. The visitors were 446 runs ahead at stumps, with Sri Lanka's having had to bat seven overs following a declaration, as the day waned.

England will hardly be bothered that they didn't get a wicket before the close - there are two more days to play, and this is a notoriously treacherous surface on days four and five. No team has ever successfully chased more than 99 at this venue. No team has ever batted out more than 114 fourth-innings overs. Sri Lanka's situation, in short, is bleak in the extreme.

Jennings' 146 not out off 280 balls was not quite flawless. There were mishits and plays-and-misses through the day, as Sri Lanka's spinners - Dilruwan Perera in particular - repeatedly tested his outside edge. He should also have been out for 58 off the bowling of Dhananjaya de Silva, but the umpire turned the lbw appeal down, and Sri Lanka declined to review. But as many who have made second-innings hundreds on turning pitches in Asia will attest, you need such pieces of good fortune to build the kind of mammoth innings Jennings produced.

What he did especially well was to resolutely defend the balls that threatened his stumps, and his pads, and let the turning deliveries spin past his blade. On the many occasions he was beaten, the close-in fielders would yelp and gesticulate, but Jennings refused to be shaken out of his calm. His defensive strategy had worked thus far. Why let the unplayable balls panic him into a different method?

It was on the off side that Jennings prospered most, partly because Sri Lanka had two offspinners in their attack, but also because his most profitable strokes in the innings were the reverse sweep, the cut and the back-foot punch through the cover region. Of his first hundred runs, a full third came behind square on the off side. More than two thirds came on the off side in general.

Sri Lanka attempted to curb the reverse sweep via various means, initially putting a man deep, then pulling him into the circle to try and tempt a mistake, and later even briefly posting a gully, in addition to a slip, to try and block off that area. Jennings continued to reverse sweep despite this, and just kept scoring runs. It wasn't until later in the day, especially as England strove for quick runs ahead of the declaration, that Jennings began to play more expensively to leg. Of his nine fours, seven came on the off side.

Sri Lanka had given themselves a glimmer of hope in the first session when they claimed three wickets for 14 runs, but through Jennings' 107-run stand with Stokes, England virtually ground the opposition into the dust. Stokes was the aggressor, making 60 off 93, striking three big blows down the ground off the spinners, while Jennings pottered along at his own steady pace. By the time the pair were parted, England were 320 runs ahead, and batting had begun to look quite easy.

Neither Buttler nor Foakes had much trouble beginning their innings, both going on to half-decent thirties, and sticking around for 77 and 61-run stands respectively. Foakes fell one ball before Joe Root declared the innings, holing out to deep midwicket in his attempts to make quick runs.

Sri Lanka's openers were largely untroubled as they took the team to 15 for no loss. Many hopes rest on Dimuth Karunaratne, who was not only Sri Lanka's top-scorer in their most recent Test series, but has a reputation for playing long innings, against good opposition, in spinning conditions. Dinesh Chandimal is the other batsman who has recently produced marathon knocks with any deal of consistency, but he was off the field the entire day, still suffering from the groin strain he picked up while fielding on day one. It is likely to hamper his batting as well, and in any case, he cannot come in higher than at No. 7.

For the hosts, a difficult day was made tougher by the fact that the retiring Rangana Herath could not prove effective against an England top order packed with left-handers. In his final innings with the ball, he removed Joe Root for the second time in the game, having him caught behind with a gripping delivery. Later, he removed Buttler, caught excellently at silly point by a diving Kaushal Silva.

Herath led the team off the field after England declared, with 433 wickets to his name, which for now places him eighth equal on the all-time list, though he is sure to slip to ninth soon enough, when Stuart Broad, who is not playing in this Test, takes another scalp.