India's successful chase of 360 was the second highest in one-day international history.
After winning the toss and electing to bat, Australia set a mammoth total of 359 with their opening five batsman scoring half-centuries as the hosts’ bowling attack was smashed around the Sawai Mansingh Stadium.
But India fought back in stunning fashion as openers Sharma and Shikhar Dhawan put on 174 for the first wicket – the latter cruelly falling five short of his century.
Kohli then smashed a 52-ball century, the fastest one-day ton by an Indian batsman in history, before Sharma added three further boundaries in the 43rd over as India overhauled their target with 39 balls to spare.
The win levelled the series at one apiece after Australia won the opening match in Pune by 72 runs.