Afghanistan's bowlers claimed four wickets to end India's first innings on 474 and restrict the damage on the second day of their debut Test, on Friday.
Spin sensation Rashid Khan trapped Ishant Sharma lbw for eight to break a frustrating 34-run last-wicket stand at the stroke of lunch, after India had resumed on 347-6 in Bangalore.
Hardik Pandya hit 71, including a 67-run eighth-wicket stand with Ravindra Jadeja, to give India a clear advantage in the landmark game.
Number-11 batsman Umesh Yadav struck an unbeaten 26 off 21 balls to increase the pressure on Afghanistan in their introduction to the five-day game.
But it wasn't the runaway total that the world's number one team had threatened when they were 280-1 on day one against Test cricket's newest side.
Fast bowler Yamin Ahmadzai struck early on day two to take his wicket tally to three. Fellow paceman Wafadar, who snared Pandya, and Khan took two wickets each.
The pace duo's efforts raised hopes of Afghanistan keeping India quiet after the visitors fought back on day one following Shikhar Dhawan's blazing 107.
But Pandya hit 10 fours during his 91-ball stay to make sure Afghanistan face a tough total.
Ahmadzai, who gave Afghanistan their first Test wicket when he removed Dhawan on the opening day, struck early in the morning session to get Ravichandran Ashwin caught behind for 18.
The fast bowler nearly got his fourth wicket on the very next delivery but wicketkeeper Afsar Zazai dropped Jadeja, who went on to score 20.
India will not be happy with their display, however, and must thank the 168-run opening stand between Dhawan and Murali Vijay for their commanding position after electing to bat first.
Afghanistan, captained by Asghar Stanikzai, were awarded full Test status by the International Cricket Council last year, along with Ireland.