In-form captain Kohli was keeping India firmly in the hunt for the first innings lead with a typically robust 83 off 171 balls laced with nine fours.
India were 348 for six at the break and alongside Kohli was Ravindra Jadeja, unbeaten on 22 in 28 balls, with a six and two fours. The home teams needs another 53 runs to go past England's 400 on a track offering sharp turn.
Murali Vijay, who had completed his hundred before lunch, was taken out for 136, his second ton of the series after the knock of 126 in the opening game at Rajkot.
Vijay, who was on 124 at lunch after commencing the day at 70, departed within 15 minutes after resumption of play by knocking back a full-toss from leggie Adil Rashid which the bowler grabbed on the second attempt.
Also Read
His eighth Test hundred contained three sixes and ten fours and lasted 344 minutes and 282 balls and the breakthrough for the tourists was effected after he and Kohli had put on 116 in 134 minutes for the third wicket to take the score past the 250 mark.
India, 262 or two, slumped to 307 for 6, by losing four wickets in 17 overs before Kohli and Jadeja held fort till tea with an unfinished partnership of 41 in 53 balls.
Nair was trapped leg before Moeen Ali from round the wicket, the Indians' review call failing, before Root dismissed both Patel and Ashwin in the space of four balls in separate overs.
Patel was lured out for a drive by a flighted ball and caught behind while Ashwin's firm flick was pouched brilliantly by lanky debutant short leg fielder Keaton Jennings.
Had Kohli also departed, the Indian innings would have nosedived, but he survived the chance and was leading the hunt for the first innings lead with Jadeja who once stepped out and lofted Root for a six over the straight field.
Disclaimer: No Business Standard Journalist was involved in creation of this content