England's batting mainstay Joe Root and young opener Haseeb Hameed survived a hostile spell of bowling from the Indians to remain not out on 22 and nine respectively.
Paceman Mohammed Shami breached Cook's (two) defence with an incoming delivery that split the left-hander's off-stump into two.
Earlier, Ravichandran Ashwin scored his second half-century of the series to guide India to a strong first-innings score.
Ashwin scored 58 and added 64 for the eighth wicket with debutant off-spinner Jayant Yadav (35) after England off-spinner Moeen Ali had claimed three quick wickets to peg back the hosts.
Resuming the second day on 317-4 in the first ever Test match in the port city of Visakhapatnam, captain Virat Kohli and Ashwin steered India smoothly with a fifth wicket stand of 35.
There was more assistance for the spinners than the first day and Moeen got Ashwin, on 17, to edge one straight to Ben Stokes at slip.
Stokes failed to hold on to the straightforward chance but made amends in the very next ball, catching Kohli when the India captain attempted a cover drive.
Kohli, who was unbeaten on 151 overnight, hit 18 boundaries in his knock of 167.
Moeen dismissed Wriddhiman Saha and Ravindra Jadeja in the same over to reduce India to 363-7.
Saha wasted a review on a plumb lbw decision while Jadeja did not appeal his leg-before dismissal to a delivery which, replays confirmed, was missing the stumps.
Ashwin, who scored 70 and 32 in the first Test at Rajkot, and Yadav then got together to add some crucial runs to India's total.
Original source: England skipper Cook falls cheaply