Harbhajan Singh and Pragyan Ojha restricted Australia to 478 in the first innings of the second cricket test against India at the M Chinnaswamy stadium on Sunday.
Australia reached 384 for five at lunch, but lost five wickets in the second session. However, the tourists still produced 94 runs from 31 overs to put themselves in the driver's seat at tea.
India, who are without Gautam Gambhir and VVS Laxman, will need strong performances from Virender Sehwag, Sachin Tendulkar and Rahul Dravid, who is yet to score a hundred on his home ground, if it to save the test.
Harbhajan led India's bowlers with figures of 4 for 148 while Pragyan Ojha took 3 for 120.
Marcus North was the pick of the Australia batsmen, hitting a career-best 128 before heaving Harbhajan Singh to Sreesanth at deep mid-wicket.
North faced 240 balls and struck 17 fours and one six while scoring his fifth hundred in his 19th test.
Tim Paine, who had consolidated Australia's position during his 149-run stand with North, was the first to depart in the seventh over after lunch.
Stretching to counter the turn and spin of Ojha, Paine saw Dhoni bring off a stunning stumping. Paine reached 59.
Ojha struck ten runs later when he had Mitchell Johnson trapped in front of the stumps, raising hopes of an Indian fight back. But the resilient North found an ally in Nathan Hauritz to frustrate Dhoni's men.
North and Hauritz produced 43 runs for the seventh wicket before North, just about having bettered his career-best 125 not out, fell in the 137th over of the innings.
His demise led to Australia losing three wickets in just four overs.
Hauritz followed his ebullient partner into the dressing room, failing to beat a Cheteswara Pujara direct hit at the striker's end.
Playing Sreesanth towards gully, Hilfenhaus called Hauritz for a single but Pujara hit the stumps in one sweeping action.
Harbhajan wrapped up the innings when he debutant Peter George stumped by Dhoni.