Sri Lanka 91 (Anderson 5-16, Broad 4-21) and 1 for 0 trail England 298 (Bairstow 140, Hales 86) by 206 runs
Scorecard and ball-by-ball details

Like Sachin Tendulkar's Test record at Lord's, there has always been something incongruous about James Anderson's bowling statistics at Headingley. The Lancastrian-in-Yorkshire factor aside, it has never made much sense that the most skilful England bowler of his generation should find it so difficult to impose himself at the English venue most conducive to his talents.

In seven previous Tests at Headingley, spanning his full 13-year career, Anderson had racked up 19 wickets at 41.36, with a best innings haul of 3 for 91. That performance, however, didn't exactly cheer him up either. It came during Sri Lanka's last visit to Yorkshire in 2014, when he left the ground in tears following his penultimate-ball dismissal to Shaminda Eranga.

Today, however, Anderson banished his demons in style, producing a sensational 70-ball onslaught of swing and seam, spread across two spells either side of tea, for which Sri Lanka - in their weakened post-Jayawardene and Sangakkara state - had no answer. It would be hard to claim he will ever feel quite as at home here as England's other main man of the second day, Yorkshire's own Jonny Bairstow, but this was a performance with a distinctly cathartic feel.

Anderson wrapped up Sri Lanka's innings with figures of 5 for 16 in 11.4 overs, his 19th five-wicket haul in 114 Tests, during which he also overhauled Kapil Dev's tally of 434 Test wickets to move into sixth place on the all-time list. Among fast bowlers, only Courtney Walsh (519) and Glenn McGrath (563) lie ahead of him. On this form, with a maximum of 13 innings still to come this summer, he could yet move to within striking distance of the top guns before the season is done.

Anderson may, however, have to share some of the spoils with his new-ball partner, Stuart Broad. It was a measure of Broad's current standing as the world's No. 1 Test bowler that, although this was by no means his most incisive spell in recent months, his unrelenting accuracy allied to subtle seam and bounce were still sufficient to return figures of 4 for 21.

Ben Stokes, with a solitary but crucial strike with the first ball after tea, completed the wickets column as Alastair Cook, in keeping with England's new hard-and-fast attitude, chose to enforce the follow-on for the first time since the Wellington Test against New Zealand in March 2013.

In the end, bad light came to Sri Lanka's rescue as play was abandoned for the play after just two Anderson deliveries in the second innings. But they will need to score more than twice their meagre total of 91 when play resumes on Saturday just to ask England to bat again. And, as a further measure of that challenge, only one batsman in the match so far has exceeded that number of runs off their own bat.

That batsman, of course, is Bairstow, whose brilliant 140 followed directly on from scores of 246 and 198 in his last two outings at Headingley for Yorkshire. His innings spanned two distinct phases of England's own innings without ever wavering from the positive intent he brought to the crease on the first afternoon, when he and Alex Hales had been confronted with a fraught scoreline of 83 for 5.

Hales, to his palpable dismay, failed to convert his overnight 71 to a maiden Test hundred - he was eventually caught in the deep off Rangana Herath for 86 after an agonisingly restrained morning's work that snapped in a moment of uncontrolled violence, much as he tried to snap his bat in frustration as he left the field to a sympathetic ovation. Though the doubts about his suitability as a Test opener haven't entirely been banished by his efforts, his share in a sixth-wicket stand of 141 cannot be underestimated in a curious England scorecard, in which the next highest score (17) came from the No. 10, Steven Finn.

Bairstow, however, was the life and soul of England's batting. He outscored Hales by three runs to one throughout their morning resumption, and made the most of one clear moment of good fortune, on 70, when Nuwan Pradeep failed to gather a sharp return catch.

Hales aside, he received little support until Finn's improbable cameo - Moeen Ali, low on confidence as an under-used No. 8, came and went for a duck, caught at short leg off Dushmantha Chameera, whose hustling full length then splattered Broad's stumps via an inside edge.

Bairstow simply stared down the track, rather nonplussed by the sudden clatter of wickets. But from the first ball of Chameera's next over, he drilled a drive into the covers, paused as a wild shy came in at the non-striker's end, then galloped through with glee as the ball zipped through for overthrows to gift him his second century and his first on home soil. Given his family connection, it was a moment that he may yet cherish even more than his emotional first century, at Cape Town five months ago.

England's eventual total of 298 was quickly put into context when Sri Lanka's openers came out to launch their reply. Faced with grey skies and a packed cordon, Dimuth Karunaratne and Kaushal Silva betrayed their anxieties in the very first over, when they hesitated so long over a quick single that they could have ended up shaking hands in the middle of the pitch.

Instead, after inching through the first three overs, they waved goodbye to one another in the space of five deliveries. First, Broad straightened one off the seam to kiss the edge of the left-handed Karunaratne, who departed for a 12-ball duck, before Anderson drew level with Kapil on 434 career wickets by finding some extra lift to dispose of Silva for 11. One over later, and Broad had two wickets in three balls as he went wide on the crease to spear an angled full-length ball into Kusal Mendis' forward defence, for Bairstow to snaffle the slenderest of deflections behind the stumps.

Dinesh Chandimal and Angelo Mathews stood firm in a 31-run stand before the interval, as James Vince - funkily introduced by Cook in a bid to emulate Dasun Shanaka's own debutant heroics - zipped a flying edge through the cordon from the final ball of the session. Straight after the resumption, however, it was Vince's hands at third slip that made the breakthrough, as Chandimal was forced to play at a pearler from Stokes, and at 43 for 4, the foundations of the innings had been fatally undermined.

Mathews, typically, found a means to delay the inevitable, as he counter-attacked with skill and intent in an innings top-score of 34 from 62 balls. But Anderson's return did him in - after lining up the outswinger he was pinned on the pad by the one that jagged back in. Though replays showed he would have been reprieved on review - the ball struck him outside the line - his bamboozlement was absolute as he chose not to quibble.

One over later, Anderson was on a hat-trick as Shanaka's eventful debut continued with an unplayable outswinger, grazed through to the keeper, and though Herath resisted briefly, he was the next to go, caught high above Stokes' head at second slip after Anderson went wide on the crease to change the angle to the left-hander.

Broad then bagged a brace as Finn, at mid-off, showed improbable agility to cling on to two diving chances in consecutive overs, but with both of England's gun bowlers on four wickets and just the one left to squabble over, Anderson reclaimed his senior status by strangling the last man down the leg side on review, to give Bairstow a haul of five catches in the innings.

That last man, as it happens, was none other than Eranga, the very bowler whose throat-ball two years ago had delivered Anderson his very worst experience at a ground that has rarely favoured him. This performance offered a degree of closure. More, you suspect, will follow over the weekend.