With this result, India won the three-match series 2-1.
Chasing 287, India got off to a steady start as openers Rohit Sharma and KL Rahul saw off the first ten overs and scored 61 runs. In the process, Rohit became the third-fastest batsman to register 9,000 ODI runs.
Australia finally got the breakthrough in the 13th over as Ashton Agar had Rahul (19) adjudged leg-before wicket, reducing India to 69/1. Sharma looked in good form and he brought up his half-century in the 15th over of the innings.
Skipper Virat Kohli then joined Rohit in the middle and the duo did not let momentum slide for the home team. Rohit brought up his eighth-century against Australia in the 30th over of the innings.
Kohli too joined in the action and brought up his half-century in the 36th over of the innings. Australia finally got the breakthrough of Rohit (119) in the 37th over to reduce India to 206/2.
Shreyas Iyer gave Kohli the much-needed support, and both batsmen put a stand of 68 runs, but with 13 runs away from the target, Kohli (89) was clean bowled by Josh Hazelwood.
In the end, Iyer (44*) and Manish Pandey (8*) took India over the line by seven wickets and with 15 balls to spare.
Earlier, Smith's knock of 131 runs enabled Australia register 286/9 in the allotted fifty overs.
Put in to bat first, Australia lost its first wicket in the third over as Mohammed Shami had David Warner (3) caught at the hands of the wicket-keeper KL Rahul.
Skipper Aaron Finch and Smith put on a brief 28-run stand, but Finch's (19) stint was cut short by substitute fielder Yuzvendra Chahal as he had him run-out in the ninth over, reducing Australia to 46/2.
Marnus Labuschagne then joined Smith in the middle and the duo put on pressure on the Indian bowling attack. Both batsmen stitched together a partnership of 127 runs and their stint saw both batsmen going past the 50-run mark.
Ravindra Jadeja staged India's comeback in the 32nd over as he got back-to-back breakthroughs of Labuschagne (54) and Mitchell Starc (0), reducing Australia to 173/4.
Alex Carey and Smith put on 58 runs for the fifth wicket, taking the side's score past the 230-run mark. However, in trying to accelerate, Carey (35) was sent back to the pavilion by Kuldeep Yadav.
Smith brought up his century in the 44th over. This was the Australian's third ODI hundred against India.
The right-handed Smith (131) was finally dismissed in the 48th over by Shami and after his dismissal, Australia lost momentum and was restricted to under run mark.
Brief Scores: Australia 286/9 (Steve Smith 131, Marnus Labuschagne 54, Mohammed Shami 4-63) defeat India 289/3 (Rohit Sharma 119, Virat Kohli 89, Ashton Agar 1-38) by seven wickets. (ANI)