Fast bowler Mohammed Siraj took four wickets as India bowled out England for 319, with the hosts leading by 126 runs on day three of the third Test on Saturday.
Ben Duckett hit 153 and skipper Ben Stokes made 41 in his 100th Test but England lost wickets at regular intervals and their innings ended in the second session in Rajkot.