Ben Stokes added England's third century of their opening innings on the second day of their first Test against India.
Moeen Ali finished at 99 on day one after Joe Root hit his 11th Test century on the opening day in Rajkot. He swiftly added to his haul before departing for 117 with Stokes (128) surviving two drops as the visitors finished 537 all out.
Gautam Gambhir and Murali Vijay began the hosts' steady reply, registering 63 from 23 overs to leave India trailing by 474 runs.
England resumed the morning on 311-4 and enjoyed a sprightly start, smashing seven fours in the opening six overs as Moeen looked to pick up from where he left off. The joy of celebrating his first overseas century was short-lived, however, after he misjudged Mohammed Shami's delivery.
Stokes, who started the day on 35, added 99 in 21 overs en route to securing his first century against India, but was twice handed a reprieve by wicketkeeper Wriddhiman Saha, who dropped on successive balls.
India struck back after the break, dismissing Chris Woakes (4) after he edged behind Ravindra Jadeja's delivery. Stokes would survive another scare, albeit a relatively minor one, when he edged straight up into the air, dropping it midwicket between Virat Khloi and Murali Bijay with neither man claiming responsibility for it.
While Stokes powered on, Adil Rashid's contribution was disappointing, departing for five after flicking harmlessly into the waiting Umesh Yadav.
As England closed in on the 500-mark, Stokes secured his century, hammering through to the covers for a four. It marked the first time three England players have scored individual Test centuries against India since 1961, and just the second time in history.
The hosts finally got rid of the Durham batsman just after tea with Saha finally managing to hold onto one down the leg side. India's misery was finally ended when Amit Mishra got his first wicket of the contest to dismiss Zafar Ansari.