Australia were closing in on victory and a 2-1 series lead at tea on the final day of the third Test after reducing India to 280 for five, still 126 runs in arrears.
A brilliant 97 from Rishabh Pant and a typically obdurate 77 from Cheteshwar Pujara had given the tourists a glimmer of hope that they might be able to chase down their target of 407.
Pant, who was a serious injury doubt on Saturday after taking a nasty blow to his elbow, slugged 12 fours and three sixes to take the game to the Australians, who were expected to wrap up victory reasonably easily on a deteriorating wicket.
The pair had put on 148 for the fourth wicket before Pant was caught at backward point three runs shy of his century to give off-spinner Nathan Lyon his second wicket of the day.
It was a huge relief to the home side, who must have had flashbacks to Ben Stokes's innings of 135 not out at Headingley in the 2019 Ashes that enabled England to snatch victory from the jaws of defeat.
Pujara was the chalk to Pant's cheese, eking out his runs from 205 deliveries over 285 minutes before Josh Hazlewood finally got something out of the second new ball to penetrate his defence and shatter his wickets.
A limping Hanuma Vihari was four not out at the break and will resume alongside Ravichandran Ashwin, who was unbeaten on seven after coming out to bat ahead of Ravindra Jadeja.
Jadeja dislocated his left thumb in India's first innings and India's considerable injury woes continued to mount on Monday when Vihari pulled up clutching his hamstring after dashing down the wicket for a quick single.
India had started a sunny day at Sydney Cricket Ground on 98-2 and were immediately on the back foot when captain Ajinkya Rahane was dismissed by Lyon for four in the second over of play.
The tourists have agreed to travel to Brisbane this week to play the fourth test, Cricket Australia chief executive Nick Hockley said on Monday, ending a week of uncertainty around the match.