Rishabh Pant hit a defiant 101 to put India in control of the fourth and final Test against England on Friday.
India reached 294 for seven at the end of the second day in response to England's 205. Washington Sundar was at the crease on 60 with Axar Patel on 11.
India, leading 2-1 in the series, struggled to make runs and lost crucial wickets early in the day, including skipper Virat Kohli who failed to score.
But Pant put on 113 for the seventh wicket with Sundar to hit back after the England bowlers reduced India to 146 for six at one stage.
"I like to play the situation and I just see the ball and react - that's the unique selling point of my game," said Pant.
"The team plan was to get to 206, pass the England total and then get as many runs as possible." India made it work again in the Ahmedabad stadium where they crushed England in two days in the third Test.
James Anderson claimed three wickets while fellow pace bowler Ben Stokes and spinner Jack Leach took two each and England seemed to be in contention for much of the day.
But left-handed wicketkeeper batsman Pant made light of the tough conditions and reached his third Test hundred with a six off Joe Root's spin.
Pant, who smacked Anderson for his 13th boundary with an audacious reverse hit over the slips, finally fell to the veteran quick and walked off to a standing ovation.
"In my opinion it was one of his finest knocks and it came under pressure as well. We weren't in a good position when he came to bat," said Rohit Sharma, who made 49.
"He was quite cautious at the beginning and then he flourished the way we know Rishabh Pant and put the team into a good position."
Pant, who made 91 in the first Test, has a reputation of throwing away his wicket after a good start due to his attacking style.
Sharma said Pant is "more than ready" to fill the void created by former captain and wicketkeeper Mahendra Singh Dhoni's retirement from international cricket last year.
"He seems to be doing the job for us," he said.
England spin bowling coach Jeetan Patel said Pant had ruined their plans with his "huge" innings.
"We need to take those three wickets as fast as can. Anything over 100 on a wearing wicket like that, it can be quite interesting."
Sundar kept up the attack reaching his third Test 50.
Suffering from an illness that appeared to take a mounting toll, Stokes earlier took two key wickets, including Kohli, and catching Ajinkya Rahane in the slips added to his key role after hitting 55 on day one.
He combined with Anderson, who bowled 11 maidens in 20 overs to make India work for their runs after they resumed the day on 24-1.
Spinner Jack Leach took the day's first wicket after trapping Cheteshwar Pujara lbw for 17 with the overnight batsman adding two to his score.
Stokes generated pace and bounced on the controversial wicket.
A day after his confrontation with Kohli, Stokes sent back the captain for his second duck of the series when he edged a rising delivery to wicketkeeper Ben Foakes.
Another Stokes delivery hit Sharma on the helmet and he took a sharp catch at second slip to dismiss Rahane for 27 off Anderson on the stroke of lunch.
The all-rounder denied Sharma his fifty when he trapped him lbw.
But Stokes looked tired in the final session and Patel said the "warhorse" was "pretty crocked".
India need to avoid defeat to book a meeting with New Zealand in the World Test Championship final at Lord's in June.