Skipper Smith fired 149 from 135 balls and his third-wicket stand of 242 alongside fellow centurion George Bailey was the catalyst for victory at the WACA.
India made 309 for three, with Rohit Sharma’s magnificent 171 not out the highest ODI score against Australia on their own soil, but their total proved inadequate.
Smith and Bailey, who made 112, steadied a shaking Australian ship after the early loss of openers Aaron Finch and David Warner to surpass the target with four balls remaining.
India lost Shikhar Dhawan for just nine but fellow opener Sharma set his mind to the task and, alongside Kohli, he set about racking up the runs.
Kohli fell nine runs short of a century when he was well caught by Finch off James Faulkner.
India captain MS Dhoni promoted himself to number four but managed only a cameo 18 from 13 balls.
India clocked up 61 runs from the final five overs, with Rohit eventually ending with 13 fours and seven sixes in a breathtaking 163-ball innings.
It was a particularly tough introduction to ODIs for Australian pair Scott Boland and Joel Paris, who finished with combined figures of 0-127 on their debuts, but Smith’s experience soon came to the fore.
Finch was the first Australian to depart when he was caught and bowled by Barinder Sran for eight.
Sran, who finished with figures of 3-56, took his second scalp soon after as Warner was caught by Kohli for just five.
Bailey, who was reprieved from his first ball when a glove through to wicketkeeper Dhoni was not spotted, secured his third ODI century before being caught by Bhuvneshwar Kumar off Ravichandran Ashwin.
Smith was snared in the final over of the game when he clipped Sran’s slower ball into the lap of Kohli at short cover, but by then only two runs were needed and, after a wide from Sran, Faulkner duly stepped up to claim the single needed for victory and complete the highest successful ODI chase at the WACA.