The Delhi pacer recorded his 8th five-wicket haul, including three in an over, to leave India with a target of 194 to win with more than two days' play left.
The star performer of England's second inning struck his maiden Test fifty, that came off just his second match in the longest format of the game.
Kohli, who turned it around for India in the first innings with a combative 149, now stands between victory and defeat for the visitors.
It all started with R Ashwin sending back Keaton Jennings and Joe Root inside the first 30 minutes before Ishant Sharma came on to bowl and dismissed David Malan.
Lokesk Rahul took both catches.
Ravichandran Ashwin ran through the top order before Ishant Sharma wrecked the middle order as India reduced England to 86 for six at lunch on day three to position themselves nicely for a win in the first cricket Test, in Birmingham on Friday.
Polar Bear Killed After Attacking Cruise Ship Worker In Arctic
The injured person was immediately provided with medical care and flown to a hospital with a rescue helicopter. Tourist expeditions are required to employ bear guards for the safety of the passengers.
His innings followed the 20-year-old Surrey left-arm swing bowler's Test-best return of four for 74 on Thursday.
Day three of the first Test at the Edgbaston Cricket Stadium in Edgbaston, Birmingham between India and England had nearly everything and was easily one of the most entertaining days.
It was also 20 runs more than their their highest fourth-innings Test-winning total in England of 174 for six at The Oval in 1971 during their first victory in a Test on English soil. So far in this match, Curran has put his imprint on two of them, with the ball on the second day and with the bat on the third: the mark, in other words, of a genuine all-rounder, and one who clearly has a sense of occasion.
England pace battery, led by Stuart Broad, gobbled up half the Indian batting line up under favourable overcast conditions as the visiting batsmen were either reckless with their shot selection or got too good deliveries to counter. They added 32 runs for the unbeaten sixth wicket, playing with maturity.
Middlesex left-hander Dawid Malan arguably "owed" England a big score after dropping Kohli in the slips on 21 and 51.
He was eventually last man out on the stroke of tea, caught behind off Umesh Yadav.