A grim day for England, often a gruelling one for a capacity crowd and a grand one for India, albeit in an understated way. Virat Kohli hit another century, a measured one, not flawless yet massively impressive and in the process England’s creaking bowlers were put through the wringer. Still they found some movement, some uneven bounce and eventually five wickets, a paltry number which can be explained by the batsmen’s diligence and England’s fallible slip catching.

Eventually Kohli declared on 352 for seven with a lead of 520 and England’s sole consolation was that Alastair Cook and Keaton Jennings remained unscathed in the last 40 minutes.

Even so Kohli had another day to remember since hungry Test players never forget their centuries. He needed some help from fallible English fingers. On 93 he edged in the air and the ball passed through the hands – and the legs – of Jennings in the gully and continued on to the rope. Jimmy Anderson, never one of the most demonstrative cricketers, sunk to his knees, his head in his hands, exasperation personified.

In the next over another edge off Chris Woakes, though not a catch, passed by Jennings’s hands and the India captain had reached his 23rd Test hundred and his second of the series. It is official: Kohli can now bat perfectly well in England against the moving ball.

In this series the self-denial of Kohli has been as impressive as his strokeplay. He has been prepared to graft and especially against Anderson, his tormentor four years ago, he has done so with skill and humility, forever respecting the craft of his opponent and therefore content to blunt him. Anderson, while bowling impeccably in the vast majority of his spells in this series, has yet to dismiss Kohli, which must have added to the exasperation after that dropped catch.

The upshot is that something astonishing will have to happen, given a benign weather forecast, for England to be anything other than 2-1 up when the fourth Test starts next week at Southampton. Moreover England will, in all probability, arrive there without one of their likeliest runscorers, Jonny Bairstow, who fractured the middle finger of his left-hand in the morning session while keeping wicket. There may be long-term implications at this injury, which means that England revert to Jos Buttler wearing the gloves but in the short term Root is desperate for Bairstow’s runs..

Buttler kept competently enough after Bairstow had left the field. In fact he looked more confident there than as England’s latest second slip, a position he has seldom occupied before this series. In the morning Anderson endured the agonies of Buttler spilling a tricky chance there, which had been offered by Cheteshwar Pujara on 40. The ball went low and to his left and then hit a hard hand before hitting the turf.

This was the nearest England came to taking a wicket in a morning session, which began with Anderson bowling a fine, luckless spell from the Pavilion End and finished with Adil Rashid and Root in partnership, a sign that England’s pace bowlers had been unable to exploit the overcast conditions. In the meantime Kohli and Pujara had added 70 careful runs.

The second session was not much more rewarding for perspiring bowlers and their aching limbs. Ben Stokes managed to dismiss Pujara for a most dutiful 72 when a ball climbed steeply to the shoulder of the bat to present a regulation slip catch to Cook.

Soon England’s frustration was betrayed by Anderson, who was clearly unimpressed that the second new ball given to him by the umpires was not the one he had selected earlier in the match. In the end the umpires insisted that Anderson and Woakes (rather than Broad) should use the one that had been delivered to the middle. This was hardly a match-changing moment – India were leading by 422 at the time with seven wickets in hand.

Having passed three figures Kohli was lbw to Woakes, who had bowled with as much discipline as anybody, and then there was a little flurry of wickets. Rishab Pant edged Anderson to Cook at slip and Rashid claimed two more Test scalps, Ajinkya Rahane bowled by a googly and Mohammed Shami caught at deep midwicket after another swipe.