Buttler (89) marked his 28th birthday by top-scoring for the fourth time in England’s last five innings as he and Stuart Broad’s ninth-wicket stand of 98 underpinned a recovery from 198-7 at start of play to 332 all out.
Then in an impressive, occasionally bad-tempered but very skillful third spell of 6-2-8-2, James Anderson struck in successive overs to put himself just two wickets short of Glenn McGrath’s world-record 563 for any pace bowler.
As the old ball swung, Ben Stokes got in on the act with two late wickets – including prolific India captain Virat Kohli – in a stumps total of 174-6.
England had surprisingly dominated the morning – thanks to their driving force Buttler.
He received support from Adil Rashid and then especially Broad as England put themselves back on the front foot in pursuit of a 4-1 series scoreline.
Jasprit Bumrah pinned Rashid lbw, and Broad entered the equation on a still under-par 214-8.
England’s number 10 had 10 of a further 20 runs when Bumrah struck him a painful blow to his shoulder.
Far from losing his appetite for the battle, though, Broad’s concentration appeared redoubled.
India were unable to stop England’s charge for 20 overs until Broad tried to hit Ravindra Jadeja (4-79) over the top and fell to a brilliant catch by KL Rahul – chasing back from mid-on to dive and hold a skier.
There was to be no birthday hundred for Buttler, but he was not done with just yet.
Most Test wickets agains India:— BrokenStats (@Broken_Statz) September 8, 2018
107* James Anderson(51 inns)
105 M Muralitharan(32 inns)
94 Imran Khan(38 inns)
76 MD Marshall(30 inns)
69* Stuart Broad(35 inns)#INDvENG
He hit Bumrah for two sixes in three balls – into the crowd over long-on and then a hook towards the dressing-rooms – before he was last out, caught at slip trying to farm more runs off Jadeja.
By then, England’s last three wickets had put on 151 runs, and the onus was on India – all the more so after Broad had Shikhar Dhawan lbw.
Rahul responded, in company with the much more cautious Cheteshwar Pujara, in a second-wicket stand of 64 which ended when Sam Curran bowled the opener.
The all-rounder had his first Test wicket on his home ground, hinting at his habitual inswing but then getting the ball to leave Rahul off the pitch and take his off-bail.
Kohli survived thanks to a tight umpire’s call on 16 when Anderson thought he had him lbw – only for replays to vindicate Kumar Dharmasena’s on-field judgement of impact outside off-stump.
Anderson’s mood was lightened when Pujara edged behind, and then Ajinkya Rahane got a little more bat on the swinging ball and was caught at slip for a duck.
Debutant Hanuma Vihari made a nervy start, twice narrowly surviving Broad lbw appeals on nought, before keeping his captain company in a half-century stand.
But Kohli fell one short of his 50 when he edged a drive at Stokes to his opposite number at second slip, and left-hander Rishabh Pant was then caught at first in near mirror image.
Know more about Sport360 Application