Duckett’s unbeaten 133, coming off 118 deliveries and adorned with two sixes and 21 fours, propelled England to 207-2 at the Saurashtra Cricket Association Stadium.
Although Ravichandran Ashwin achieved the milestone of becoming the second Indian bowler, after Anil Kumble, to claim 500 Test wickets, it was a day of toil for India as England scored briskly, almost at a run-a-ball rate.
At stumps, Joe Root was unbeaten on nine, with England trailing India by 238 runs in the third match of the five-Test series, which stands at 1-1.
Earlier in the day, debutant Dhruv Jurel (46) and Ashwin (37) staged a spirited resistance, while Jasprit Bumrah (26) provided a late flourish to guide India close to the 450-mark.
England’s sloppy fielding allowed Jurel two reprieves, first by Ollie Pope at midwicket and then by England captain Ben Stokes at leg slip.
Rehan Ahmed halted Jurel’s charge towards a fifty on his debut Test, and Mark Wood (4-114) eventually dismissed Bumrah, the last Indian wicket to fall.
England commenced their innings at 5-0 after India were penalized five runs for Ashwin’s infringement on the protected area of the pitch.
Although Duckett initially struggled against Mohammed Siraj’s pace, he quickly settled into his groove and took on the Indian spinners with confidence.
Duckett reached his fifty off just 39 balls but lost his opening partner, Zak Crawley, who fell attempting a sweep shot against Ashwin.
Duckett continued to dominate the Indian attack, displaying the aggressive batting style emblematic of the team under Stokes’ leadership.
He reached his third Test century with a boundary off Siraj, boosting England’s spirits further.
Siraj provided a late breakthrough for India by dismissing Pope lbw for 39 in the final session, with the decision overturned on review.
“Five hundred wickets is done and dusted now. We’ve got a game hanging in the balance,” Ashwin said afterwards.
“The game is going neck and neck. We’ll have to bat and bowl well to stay in the game.”