It proved costly as Kohli sailed into three figures with a series of effortless boundaries, building a one-sided partnership of 57 with Umesh Yadav (1 not out) until Adil Rashid collected his first wicket of a controversial Test return to halt the India captain and the innings.
3 - Ishant Sharma has now taken at least four wickets in three of his last four Test innings with the ball in England. Curran followed up his bowling performance of 4/74 with a fifty in just his second Test match.
The rest of India's batting line-up failed, however, and the tourists were bowled out for 274 in reply to England's 287 as Sam Curran, the 20-year-old from Surrey, took four wickets.
With 35 wickets having tumbled inside three days, England will be hoping they can grab the five remaining Indian wickets quickly on day four so that they can mark their 1000th test with a victory.
"If he (Kohli) bats like he did first innings ... even batting with the tail, it was so hard to keep them on strike, have six balls at them", he said.
"I had goosebumps listening to the Barmy Army chants and that first hour tomorrow (Saturday) is going to be crucial", Curran told Sky Sports.
"What's been great is the way the momentum has shifted, Test cricket at its best - the way we dominated the first two sessions of the match, then India wrestled back the momentum, then it was our job to go out and bowl well".
India was in trouble at 100/5, but Virat Kohli was there to see India to a position of command.
Edgbaston was close to boiling point as Broad dismissed openers Murali Vijay and Shikhar Dhawan to leave India 22 for two.
It was not long on Friday before were England were 18 for two when Keaton Jennings nicked Ashwin to KL Rahul at second slip.
But he fell for 20 when, squared up by Sharma´s superb outswinger from around the wicket, he edged to Ajinkya Rahane in the gully.
Ishant had two balls left in an over that had yielded two wickets already and he struck a third time, forcing an out-of-sorts Jos Buttler to nibble at one and hand Dinesh Karthik a simple catch. Ben Stokes then cleaned up the middle order before they could dig deep. The right-handed batsman couldn't handle a delivery from Ishant Sharma, who picked his fourth wicket. "The good thing is I have scored 50 in county cricket (for Sussex), so I am just carrying that confidence".
But Curran, after a couple of fortunate edges and being dropped in the slips on 13, found his form. A deserved half-century arrived courtesy of his second maximum, this time swatting Sharma away over extra cover.
He shielded both senior partners Stuart Broad (11) and James Anderson (0*) ably, but Sharma eventually broke through as the English innings came to an end at the stroke of tea.