Steve Smith thwarted India for the second day running as Australia posted 451 in their first innings, but the hosts' rallied to close on 120-1.
The Australia captain finished unbeaten on 178 and Glenn Maxwell (104) hit his maiden Test century to put the tourists in a strong position.
Ravindra Jadeja was the pick of the India bowlers, taking 5-124, and a positive start from the hosts' top order leaves the third Test, in Ranchi, delicately poised going into day three.
Maxwell added the 18 runs he needed to go to his hundred early on the second morning, reaching three figures from 180 balls, but he went little further before edging behind off Jadeja.
It was left to Jadeja to break a 64-run partnership between Smith and Matthew Wade (37) too, the latter caught behind, and the left-arm spinner bowled Pat Cummins (0) two balls later.
Smith remained patient and eased past 150 from 315 balls during another fifty partnership, this time with Steven O'Keefe (25), who eventually fell to Umesh Yadav (3-106).
Jadeja removed Nathan Lyon (1) to complete his five-wicket haul and then played his part in the run out of Josh Hazlewood (0) to draw the innings to a close.
Having survived a tricky eight-over spell before tea, India openers KL Rahul and Murali Vijay pushed on in the evening session.
Rahul (67) breezed past fifty but was undone by a superb slower-ball bouncer from Cummins that cut in to hit the batsman's gloves and loop up to Wade behind the stumps.
Vijay (41no) and Cheteshwar Pujata (10no) saw India through to stumps but they still trail by 331 runs and have plenty of work to do to ensure parity in the first innings.
Watch day three of the third Test between India and Australia from 3.50am on Saturday, Sky Sports 2.