Skipper Joe Root struck a fluent century in his 100th Test to help England seize the advantage in the opening match against India on Friday.
England ended on 263 for three after Dom Sibley fell to paceman Jasprit Bumrah for 87 in the final over of day one and stumps were called in Chennai.
England elected to bat after winning the toss in the first match of the four-Test series.
Root, unbeaten on 128 and battling cramp in the final session, put on 200 runs with Sibley after England slipped to 63 for two in the first session.
Root made his Test debut in India in 2012 and his century comes on the back of match-winning knocks of 228 and 186 in Sri Lanka.
Friday's effort was his third successive and 20th Test ton.
The 30-year-old handled the spinners with aplomb as he swept - and reverse swept - to precision in his 197-ball knock. He struck 14 fours and a six.
Sibley completed his second successive Test fifty after a cautious but steady start with opening partner Rory Burns, who made 33.
But he fell short of his third Test ton when trapped lbw, trudging back to the pavilion after an unsuccessful review.
Left-hander Burns fell to off-spinner Ravichandran Ashwin for 33 while attempting a reverse sweep just before lunch.
Bumrah, who is playing his first Test at home, struck soon after to trap new batsman Dan Lawrence lbw for nought.
The series will decide who plays New Zealand in the final of the inaugural World Test Championship.
Virat Kohli (capt), Rohit Sharma, Shubman Gill, Cheteshwar Pujara, Ajinkya Rahane, Rishabh Pant, Washington Sundar, Ravichandran Ashwin, Ishant Sharma, Jasprit Bumrah, Shahbaz Nadeem
Joe Root (capt), Rory Burns, Dominic Sibley, Daniel Lawrence, Ben Stokes, Ollie Pope, Jos Buttler, Dominic Bess, Jofra Archer, Jack Leach, James Anderson