Team India today reached 98 for three to take a 298-run lead at the end of the third day's play on Saturday here.
Kohli followed up his brilliant 167 in the first innings to lead from the front with an unbeaten 56 to take India to 98/3 in the second essay after Ashwin ripped through the English line-up with his 22nd Test fifer to give India a 200-run lead.
India's second innings started on a disastrous note with the top three batsmen -- Murali Vijay (3), Lokesh Rahul (10) and Cheteshwar Pujara (1) -- departing with just 40 runs on the board.
Vijay was dismissed in controversial circumstances with the England team appealing for a futile leg before chance and then went for a catch.
The Chennai opener got an edge onto his pad as Broad's ball looped behind square to be beautifully taken by Joe Root at gully diving forward.
Rahul, who returned to the squad after being sidelined with an injury was caught behind by stumper Jonny Bairstow off Broad after England approached for a review when the on-field umpires turned their appeal down.
Pujara, the centurion in the first innings, could not last long as a ripper from Anderson knocked his middle stump.
Thereafter, Kohli and Ajinkya Rahane (22 not out) stabilised the innings with an unbeaten 58-run fourth wicket stand. Kohli's 70-ball knock was laced with six hits to the fence.
For the visitors, pacer Stuart Broad took two wickets while veteran James Anderson bagged one.
Earlier, Ashwin returned with figures of 5/67 while Mohammed Shami, Umesh Yadav, Ravindra Jadeja and Jayant Yadav bagged a wicket each as England were bowled out for 255 in their first innings shortly before the tea break.
All-rounder Ben Stokes top scored for the visitors with 70 while stumper Jonny Bairstow also notched up a half-century for England.
Resuming at the overnight score of 103/5, Bairstow and Stokes survived the occasional scare to complete a 110-run partnership.
Ashwin caused plenty of trouble for the English duo on a pitch which does not have too much grass.
Stokes and Bairstow however, batted steadily to help the visitors reach a respectable total.
Umesh restored the morale within the Indian camp a couple of overs before lunch with a full length delivery that beat Bairstow with its pace and clipped the pads before sending the middle stump for a walk.
Bairstow scored 53 runs off 152 balls with five hits to the fence.
Ashwin trapped Stokes leg before shortly after the lunch break to hand the hosts a vital breakthrough.
Stokes 157-ball stay in the middle included 11 boundaries.
His departure saw England's first innings come to a rapid close as Ashwin and Jadeja removed the last three wickets in the space of just 30 runs.
(With inputs from IANS)