Steve Smith scored Australia's first century of the series but the hosts were dismissed for 338 in their first innings before tea on the second day of the third test against India on Friday.
The former captain rediscovered his form with a brilliant 131 after scoring 10 runs in his four previous innings in the four-match series, which is tied at 1-1 after the first two tests in Adelaide and Melbourne.
He ran out of partners at the other end, however, as spin-bowling all-rounder Ravindra Jadeja (4-62) led the Indian bowlers in dashing home hopes of building a match-winning score on a cloudy day at Sydney Cricket Ground.
Smith had a nervous spell on 99 before turning the ball off his hips to square leg for three runs, securing his 27th test century and first since Sept. 2019.
There was an early start on Friday after four hours of play were lost to rain on day one and the weather again disrupted the action with two brief delays as showers swept across the ground.
The overcast conditions contributed to a muted atmosphere at a ground sparsely populated by a socially-distanced crowd of fewer than 10,000 fans all obliged to wear face masks.
Australia had resumed on 166-2 looking to bat through the day but Jadeja dismissed Marnus Labuschagne for 91 to break a potentially dangerous 100-run partnership with Smith.
Jasprit Bumrah then pitched in with the new ball to trap all-rounder Cameron Green lbw for a 21-ball duck and the paceman kept up the pressure after lunch, also clean bowling Australia captain Tim Paine for a duck.
Jadeja then got back into the act to send back Pat Cummins in similar style for the same score. Fittingly, Jadeja had the last word, showcasing his fielding skills with a direct hit from square leg to run out a diving Smith and close the Australian innings.