England were once again looking to Joe Root and Jonny Bairstow after Sri Lanka defied James Anderson’s best efforts on another hard-fought day at the second Test at Galle.

The hosts posted a challenging 381 in their first innings, with Anderson raising his own bar at the grand old age of 38 with career-best figures of six for 40 in Asian conditions.

England then slipped to five for two, before Root reeled off a fluent half-century to follow last week’s double hundred, ably backed by his fellow Yorkshireman as they added 93 without further loss.

Anderson’s masterful six for 40 was the standout bowling performance as all 10 home wickets fell to pace, the first time that has happened on this island in two decades and, while that was a feather in the cap of the English seamers, it was also an awkward statistic for spinners Jack Leach and Dom Bess. Between them the duo sent down 64 overs for 195 as they failed to make any kind of impression on proceedings.

The notion that the pitch was simply too flat or too unresponsive to work with was soon put bed as slow left-armer Lasith Embuldeniya continued his complete dominance of openers Dom Sibley (nought) and Zak Crawley (five). He has now accounted for both men in single figures on all six occasions this series, placing a hefty workload on the middle order.

Luckily for England, Root’s stylish array of sweeps saw him race to 67 not and Bairstow continued his impressive return to the Test arena with an unbeaten 24.

Sri Lanka had started on 229 for four but saw their platform eroded almost immediately as Anderson and centurion Angelo Mathews, the two key figures from Friday’s play, faced off again.

With the second new ball still hard Anderson had the tools to conjure some seam movement off the pitch and leapt up for caught behind as his sixth delivery of the morning flicked something on the way through. The shout was waved away, but a clearly dubious Root was persuaded to take a second look with DRS.

A tiny spike showed up on UltraEdge leaving Mathews (110) looking aggrieved and England overjoyed. Debutant Ramesh Mendis was unable to wipe away their smiles, gone for a seven-ball duck as he flicked Mark Wood off his pads and Jos Buttler flung himself into a fine catch.

At that point a sub-300 total still looked possible, but Niroshan Dickwella would not allow it. He drove well against pace and looked far too assured to let either Bess or Leach cut him short, sweeping and pulling them nicely.

The wicketkeeper passed fifty for the 16th time before lunch and moved past his career best of 83 afterwards, seemingly dead set on a maiden hundred.

But England hatched a fresh plan and, to no great surprise, it hinged on Anderson’s application. Angling the ball across the left-hander with a ring of catchers on the off-side, he drew Dickwella into a rash drive on 92, with Leach plucking it well at mid-off.

Suranga Lakmal turned Anderson’s 30th five-for into a six, flashing hard to gully two balls later. Dilruwan Perera (67) added another 49 with numbers 10 and 11, but Wood and Sam Curran chipped away to end the innings after 140 long overs.

The ineffectiveness of spin in the first innings was cast into sharp relief as soon as Embuldeniya began to work his magic. He was all over England’s openers in the first Test and the same pattern unfolded again with grim inevitability.

He did not concede a single run from his first 19 deliveries, in which time he had Sibley bang to rights, lbw for nought, and Crawley held at slip for five. Sibley was spooked by turn then undone by one that kicked straight on, while Crawley nicked one that drifted and gripped.

Coming together on five for two, Root and Bairstow show their top-order colleagues how it was done. Root was quick to crunch an early sweep for four and would once again lean on the shot that worked wonders for him last time around.

There were fine sweeps, slog sweeps and reverse sweeps, all of which brought him boundaries and eased him along to a 65-ball fifty. Twice he hit three fours in an over, Mendis and Embuldeniya both on the receiving end, and overtook fellow Yorkshireman Sir Geoffrey Boycott in sixth place on England’s Test runs chart.

Bairstow attacked sparingly but effectively and just survived Perera’s lbw appeal on umpire’s call as he played his part in a 93-run partnership.