Ravindra Jadeja completed his fourth Test hundred early on the second morning.
Mohammed Shami hit three boundaries in a useful knock of 16.
James Anderson ended Jadeja's stellar bowling him with the second new ball.
Jasprit Bumrah launched a late assault with a 16-ball 31* as India's total went past 400.
Stuart Broad bowled the most expensive over in Test history when he conceded 35.
Jasprit Bumrah clean bowled Alex Lees before rains brought a premature end to the first session.
Rain disrupted a majority of the second session of play.
Jasprit Bumrah added the wickets of Zak Crawley and Ollie Pope before more rain hit Edgbaston.
Mohammed Siraj dealt England the big blow by dismissing Joe Root with an inducker.
Mohammed Shami was rewarded for his probing final spell on the day with the wicket of nightwatchman Jack Leach. England ended the day on 84/5, trailing by 332.