The hosts reached 246/5 in 73 overs at tea, in reply to India's first innings 148 all out.
Ashwin (2/44) and Varun Aaron (2/84) made sure that the England lead did not stretch past 98 runs with five first innings wickets intact.
Ishant Sharma (1/33) was the other wicket-taker in the session, with Jos Buttler (12 batting) and Joe Root (11 batting) the unbeaten batsmen at the crease at the break. Bhuvneshwar Kumar (0/49) and Stuart Binny (0/24) were the other Indian bowlers deployed.
Three overs into the session -- 48th of the innings -- Ballance reached his fifty off 77 balls, including 11 fours and an over later celebrated his 100-run partnership with Cook. Then began an odd period of play wherein India could have had more wickets but for the two catches dropped.
Finally some luck came the Indian bowlers' way as Vijay held on to another chance offered by Cook in the 58th over bowled by Aaron. The hosts captain was finally dismissed for 79 runs off 183 balls with nine fours included.
England's 200-run mark came up in the 62nd over but more importantly they collapsed from 191/1 to 204/4 in the space of 33 balls.