Half-centuries from Australia's Usman Khawaja and Peter Handscomb left the second Test against India in the balance after the opening day in Delhi.
India reached 21-0 at close, trailing by 242, with captain Rohit Sharma on 13 and KL Rahul four.
The hosts lead the four-Test series 1-0 after an innings win in Nagpur.
Khawaja shared 50 for the opening wicket with David Warner (15) before Ravichandran Ashwin (3-57) dismissed Marnus Labuschagne for 18 and Steve Smith for a duck in the space of three balls to leave Australia 91-3.
Travis Head, who returned to the middle order in one of two changes for Australia, fell for 12, before Khawaja shared 59 for the fifth wicket with Handscomb.
Khawaja was superbly caught in the covers by Rahul as he looked to reverse sweep away, and wicketkeeper Alex Carey (0) fell seven balls later.
Handscomb put on 59 with captain Pat Cummins (33), with Ravindra Jadeja (3-68) removing both Cummins and Todd Murphy in the 68th over.
Shami then returned to remove Nathan Lyon and debutant left-arm spinner Matthew Kuhnemann with Australia bowled out in 78.4 overs.
India then faced a tricky nine-over spell before close but Rohit and Rahul successfully navigated Cummins, Kuhnemann - who became the fifth spinner to open the bowling on debut in Test cricket - and Lyon.
"I found it pretty challenging," Khawaja told BT Sport. "There is always something out with the ball coming back in and you've got quality bowlers.
"We actually don't know what a good score is on this wicket. If we bowl well, then 260 will be a competitive score, there is something in the pitch and plates were moving already when we were batting.
"Tomorrow will tell the tale of where this game is going."