Chasing India’s total of 252 all out, the touring side appeared comfortably placed at 138-4 before they suffered a collapse and were bundled out for 202 in the 44th over.
The 22-year-old Kuldeep had not enjoyed success in his first seven overs and gave away 39 runs. But he dismissed Matthew Wade, Ashton Agar and Pat Cummins in his eighth over to turn the match in India’s favour.
He is only the third Indian to take a hat-trick in one day internationals after Kapil Dev and Chetan Sharma.
Kuldeep’s triple strike snuffed out Australia’s hopes of squaring the series as the visitors were reduced to 148-8 in the 33rd over. The left-arm spinner finished with figures of 3-54 in his quota of 10 overs.
Australia captain Steve Smith and Travis Head propped up their team’s chase with a 76-run stand for the third wicket after India seamer Bhuvneshwar Kumar had dismissed openers Hilton Cartwright and David Warner cheaply.
Head was out for 39 to leg-spinner Yuzvendra Chahal while Smith fell for 59, caught in the deep when trying to pull all-rounder Hardik Pandya.
Kumar dismissed Kane Richardson for a nought with the first delivery of his second spell to complete India’s win and finish with miserly figures of three for nine runs from 6.1 overs. Marcus Stoinis was left stranded on 62 not out at the other end.
Earlier, India’s innings was built on captain Virat Kohli’s sublime 92 and opener Ajinkya Rahane’s 55. The duo added 102 for the second wicket after Kohli had won the toss and opted to bat.
India looked set for a total in excess of 300 when they reached 186-3 in the 36th over but they lost their way after suffering a mini collapse, losing Kedar Jadhav (24), Kohli and Mahendra Singh Dhoni (five) in quick succession.
Pace duo Nathan Coulter-Nile and Richardson both picked up three wickets each for Australia, who must now win the third ODI at Indore on Sunday to stay alive in the series.
(Reporting by Sudipto Ganguly in Mumbai; editing by Keith Weir)