India pulled off the third highest run chase in ODI history to level the series with Australia at 2-2 with one match remaining.
Set a target of 351 in Nagpur, centuries from Shikhar Dhawan and Virat Kohli saw India to a six-wicket win in the final over.
Australia's in-form captain George Bailey had earlier hit a career-best 156 in his side's total of 350-6, putting on 168 with Shane Watson, who made 102, for the third wicket.
It was a case of history repeating itself for the tourists. They had failed to defend a total of 359-5 in the second match of the series two weeks ago in Jaipur when Kohli also finished with an unbeaten century.
The seventh and final instalment of the series - which has featured two no-results due to rain - takes place in Bangalore on Saturday.
India openers Dhawan and Rohit Sharma laid the platform for a successful pursuit with a 178-run partnership in 29.3 overs.
Sharma fell to Aaron Finch's part-time spin for 79, bringing Kohli out to join Dhawan.
The second-wicket pair upped the tempo during a 56-run stand off 39 deliveries, Dhawan bringing up his fourth ODI ton at exactly a run-a-ball, including 14 fours.
He did not add any more to the total, left-arm seamer James Faulkner (1-73) slipping one through Dhawan's defences.
Kohli took charge thereafter, racing to 50 off 31 balls to ensure India kept in touch with the required-rate.
Mitchell Johnson (2-72) removed Suresh Raina (16) and Yuvraj Singh (0) in the 43rd over but India captain Mahendra Singh Dhoni (25no) helped Kohli finish off the job with three balls to spare.
Kohli's 66-ball 115 not out - his 17th ODI century - contained 18 fours and a six.
Earlier, Australia lost openers Phil Hughes (13) and Aaron Finch (20) to slip to 45-2 in the 12th over after being sent in to bat.
It should have been 66-3 five overs later but Watson enjoyed a let-off when, on 25, he lifted a simple catch to Sharma at mid-off.
The umpires asked him to wait while they checked for a no-ball and replays showed that spinner Ravindra Jadeja had overstepped.
Watson made the most of his second chance, accelerating to a 93-ball hundred, his ninth in ODIs, with three fours in a row off Mohammed Shami in the 35th over.
Shami responded by bowling Watson with the next delivery following his milestone, although there was no stopping Bailey.
He went to three figures from 84 deliveries and pressed on to reach 150 from another 25 balls.
Bailey, having taken his tally in the series to 474 runs, was caught by Kohli at long-off in the final over, and Jadeja added the wicket of Mitchell Johnson two balls later, his 100th in ODIs.