Australia looked in position to take a 2-1 series lead, needing eight wickets on the final day at the SCG, but were left frustrated by a stubborn India batting line-up and costly dropped catches.
Rishabh Pant (97), Cheteshwar Pujara (77), Hanuma Vihari (23 off 161 balls) and Ravichandran Ashwin (39 off 128 balls) helped ensure India were level heading into the final Test in Brisbane starting on Friday.
The SCG pitch played few tricks on day five, and Pant even had India dreaming of an amazing win, the tourists eventually finishing at 334-5, 73 runs adrift of a victory they stopped chasing after Vihari hurt his hamstring.
Josh Hazlewood (2-39) and Nathan Lyon (2-114) made breakthroughs, but Australia were unable to do enough in a Test they looked destined to win as Tim Paine dropped three catches.
Australia landed an early blow as Lyon had Ajinkya Rahane (4) caught at short leg by Matthew Wade.
But Pant – who suffered an elbow injury on Saturday – was put down twice by Paine, on three and 56, off Lyon, and he counter-attacked superbly to put the pressure on the off-spinner.
Pujara brought up 6,000 Test runs, the 11th Indian to achieve the feat as he continued to frustrate Australia.
Pant looked capable of leading India to a shock victory before falling just short of a third Test century, caught by Pat Cummins at gully after trying to attack Lyon again.
The second new ball brought a key wicket for Australia as Hazlewood produced a wonderful delivery to bowl Pujara.
A pair of reviews were unable to get Ashwin, who was dropped on 15, a diving Sean Abbott – on for the injured Will Pucovski (shoulder) – unable to hold onto a tough chance.
Vihari and Ashwin, showing no intent to score, remained stoic and defended well against an increasingly desperate Australia.
Paine dropped another chance after Vihari edged a Mitchell Starc (0-66) delivery and it proved to be the final opportunity as India held on for a draw.
For in-depth, objective and more importantly balanced journalism, Click here to subscribe to Outlook Magazine