Opener Yashasvi Jaiswal hit an unbeaten 179 as India took opening day honours in the second Test despite regular England strikes, including debutant Shoaib Bashir's two wickets, on Friday.
India, who trail the five-match series 1-0, reached 336-6 at stumps with the left-handed Jaiswal and Ravichandran Ashwin, on five, batting in Visakhapatnam.
Bashir and fellow spinner Rehan Ahmed took two wickets each.
Bashir, 20, got skipper Rohit Sharma as his first Test wicket and pace bowler James Anderson made it two down before Jaiswal hit back.
Jaiswal took on the England spinners to smash Tom Hartley for three successive boundaries and set the pace.
"I wanted to play it session by session. When they were bowling well, I just wanted to get through that spell," Jaiswal said after the end of play.
"Initially, the wicket was damp and there was spin and bounce, with a bit of seam. However, I wanted to convert the loose balls, and play till the end. I would love to double this up, and play till the end for the team."
He reached his second Test ton with a six off Hartley and removed his helmet, raised his arms and blew a kiss to the cheering crowd.
It was India's first century in the series. England's Ollie Pope hit 196 in the opening Test.
Jaiswal kept up the attack and India dominated the final hour of play despite losing Axar Patel and hometown hero K.S. Bharat.
The 22-year-old Jaiswal, playing his sixth Test, smashed 17 fours and five sixes to surpass his previous Test best of 171 on debut in the West Indies last year.
Bashir got Axar caught at backward point for his second wicket as he bowled disciplined spells to showcase his variety and guile in just his seventh first-class match.
The bowler was a late arrival in India after a visa delay -- the latest cricketer of Pakistani descent to have such troubles in India -- and missed the series opener.
"It has been a very special, special day for all that I have been through in the last two to three years," Bashir said on his international debut.
On his late arrival, Bashir said: "I knew I would get the visa. It was a bit of a hassle but we are here now and I got to make my debut and that's what matters."
Debutant Rajat Patidar made 32 before being bowled by Ahmed as the batsman's forward defensive stroke saw the ball, with backspin, roll onto the stumps.
Hartley, who returned figures of 7-62 in England's 28-run win in Hyderabad, had sent back Shreyas Iyer for 27 against the run of play in the second session.
Earlier, Jaiswal and Rohit started cautiously to drive the hosts to 40-0 in the first hour of play before Bashir broke through in the second over after the drinks break.
Bashir got Rohit caught out for 14 at leg-slip on a delivery that turned sharply into the right-hander.
"To get Rohit Sharma out, my first wicket, feels incredible," Bashir said.
"He's a quality player, one of the best in the world."
Anderson had Shubman Gill caught behind for 34 as the 41-year-old veteran moved to 691 Test wickets.
India are looking to bounce back in the series after losing just their fourth Test since 2013.