Put in, India made a strong start in tough conditions and were 46 for no loss at Lunch. Only 18.4 overs were possible in the first session because of rain.
Anderson removed Rohit for 83 to break the 126-run opening stand. The England bowlers had to work hard for 43.4 overs to get the first breakthrough.
Anderson dismissed Pujara for just 9 to put pressure on India.
KL Rahul got to his half-century to take India to 157 for 2 at Tea.
Rahul got to his sixth Test century off 212 balls with a boundary against Wood in the 78th over.
Rahul (126*) and Kohli (42) scored 117 for the third wicket to ensure India end the day on top with 276 for 3 on the board.