Umesh Yadav dismissed Rogers (55 runs, 79 balls, 10 fours) just at the stroke of tea to bring India back into the contest.
Australia were 121 for three in 24.5 overs at the break in reply to India's 408 all out. The hosts currently trail India by 287 runs.
Rogers clipped a Yadav (2/35) delivery to give India skipper Mahendra Singh Dhoni a simple catch behind the stumps. The left-arm opener's dismissal was the last action of the post-lunch session. Australia skipper Steve Smith (6 not out) was the unbeaten batsman at the other end.
For India, Ishant Sharma (0-35) and Varun Aaron (0-46) took the new ball but returned wicketless.
Also Read
While Aaron mended his ways from the first Test and displayed much better control of the ball, Ishant proved to be expensive as he went for 29 runs in just three overs.
Warner was at his aggressive best as he gave a speedy start to Australia's innings once again. He struck six fours in his short stay at the wicket and as a result Yadav was brought into the attack in only the seventh over.
Warner's wicket brought Shane Watson (25 runs, 29 balls, 4 fours) to the crease and he did not let the momentum down scoring at a brisk pace.
With Rogers, he added a quick-fire 51 runs for the second wicket. Their 50-run partnership came off only 63 balls in the 19th over.
With Rogers and Watson finding it easy against the pacers, Dhoni introduced spin in the 18th over and Ashwin struck in his second over.
Rogers then brought up his sixth Test half-century in the 21st over as also the Australian 100-run mark. He faced 73 balls to get there and snapped his run of eight innings without a fifty.
With tea round the corner and the match in balance, he had added 23 runs with Smith but got out just prior to the break, handing India the initiative.