Opener Rohit Sharma hit a dazzling unbeaten 132 to guide his side to 189 for three at tea on day one of the second Test against England on Saturday.
Sharma and Ajinkya Rahane, on 36, put on an unbroken stand of 103 as England failed to take a wicket in the second session in Chennai.
India, who trail the four-Test series 1-0, were in trouble at 86 for three when Moeen Ali bowled skipper Virat Kohli for nought after they elected to bat first.
Sharma stood firm and completed his seventh Test hundred, and his first against England, and then raised the bat to cheering fans who had been allowed into the ground for the first time since the pandemic.
He took advantage of any bad balls to hit 16 fours and two sixes, prompting England to bring back their quick bowlers Stuart Broad and Olly Stone for short spells.
Stone had Shubman Gill leg before for a duck in only the second over of the day, but Sharma and Cheteshwar Pujara steadied the ship with an 85-run second-wicket stand.
But then Jack Leach took Pujara for 21 and Ali's prized scalp of Kohli left India 106 for three at lunch after winning the toss and choosing to bat.
Ali bowled Kohli through the gate as the Indian captain stood shocked for a few moments while the TV umpire checked to see if the bail had been dislodged by the wicketkeeper's gloves, before walking off to stunned silence.
The Indian players were greeted by whistles and chants of "Rohit, Rohit" as Indian cricket welcomed back a limited number of its raucous fanbase for the match.
England made four changes from their opening win with Broad, Ali, Stone and wicketkeeper Ben Foakes making it into the side.
India handed left-arm spinner Axar Patel his Test debut and brought in paceman Mohammed Siraj and left-arm wrist spinner Kuldeep Yadav in the team.