Defending 352, Indian bowlers did not allow the Australian batsmen to score at a good run-rate as they bowled good line and length, restricting Aussies to just 29 runs in the first nine overs.
However, the introduction of Hardik Pandya in the bowling attack eased the pressure as he leaked 19 runs in his second over.
Steve Smith and David Warner retrieved the innings for Aussies as they put up a 72-run stand, but their resistance was ended by Yuzvendra Chahal as he dismissed Warner (56) in the 25th over, with Australia requiring 220 runs for the win.
Smith and Usman Khawaja put up a 69-run stand, and in search of some quick wickets skipper Kohli decided to bring back his main bowler Jasprit Bumrah into the attack and he did not disappoint as he rattled the stumps of Khawaja (42).
Glenn Maxwell came out to bat next, and along with Smith stitched a 36-run stand, but Bhuvneshwar Kumar dismissed Smith (69) and Marcus Stoinis (O) in quick succession, giving the Men in Blue an upper hand in the match.
Chahal who has had an upper hand over Maxwell previously, outdid him in flight once again and sent Maxwell (28) back to the pavilion. Nathan Coulter-Nile (4) also departed early but Alex Carrey kept on playing big shots, giving Australia hopes of winning the match.
Wickets kept tumbling at the other end for Australia and India finally sealed the match by 36 runs.
Openers Dhawan and Rohit provided a steady start to the Men in Blue as the duo put up a stand of 127-runs, which saw both Sharma and Dhawan bringing up their respective fifties before the 22nd over.
In this match, Sharma became the fastest Indian batsman to score 2000 runs against Australia. Previously the record was held by Indian great Sachin Tendulkar.
Coulter-Nile finally took his first wicket in this World Cup as he dismissed Sharma (57) in the 23rd over. Coulter-Nile bowled a slower delivery, Sharma tried to upper cut it, but he just managed to lob a simple catch to the wicket-keeper Carrey.
After reaching his half-century, Dhawan changed the tempo of his innings and he started looking for some big shots. Virat Kohli came out to bat next, and he along with Dhawan did not let go off the momentum. The duo stitched together a partnership of 93 runs, which saw Dhawan bringing up his century from just 95 balls in the 33rd over.
In search of some quick runs, Dhawan's (117) wicket perished as he was dismissed by Mitchell Starc in the 37th over. Pandya got a reprieve on his very first ball as he was dropped by wicket-keeper Carrey.
Pandya and Kohli hammered the Aussie bowlers for boundaries in the death overs. Pandya played a knock of 48 runs from 26 balls, but he was sent back to the pavilion by Pat Cummins, ending the 81-run stand between Pandya and Indian skipper Kohli.
MS Dhoni who has been surrounded by the controversy of late regarding his army insignia on his wicket-keeping gloves came out to bat next, and he played a cameo of 27 runs off just 14 balls, but he was sent back to the pavilion in the final over as Marcus Stoinis took a stunning catch.
Kohli (82) also departed in the final over, but India posted a challenging total of 352 runs on the board.
(This story has not been edited by Business Standard staff and is auto-generated from a syndicated feed.)