Harmer bowled a fine line to dismiss Ajinkya Rahane, Ravindra Jadeja and Amit Mishra as India lost 6 wickets after resuming at 125-2.
India got through the first hour steadily before the world's top-ranked test side got the first breakthrough when part-time seamer Stiaan van Zyl removed captain Virat Kohli caught behind, and then leg-spinner Imran Tahir dismissed the other overnight batsman Cheteshwar Perera for 77.
Four more wickets followed in quick succession.
At the break, Wriddhiman Saha was eight not out.
Happy Lunch Hour at BAC