Man of the match Kohli was dismissed in the 44th over after making 104 off 112 balls with five fours and two sixes.
M S Dhoni pulled off a tight finish for India just like old times to silence his critics after captain Virat Kohli laid the foundation for a series-levelling six-wicket win against Australia with his 39th ODI hundred here on Tuesday.
Chase master Kohli could not take his team to the finishing line this time but Dhoni (55 off 54) and Dinesh Karthik (25 off 14) rose to the occasion with an unbeaten 57-run stand off 34 balls, taking India home with four balls to spare. Australia scored 298-8 after opting to bat.
Man of the match Kohli was dismissed in the 44th over after making 104 off 112 balls with five fours and two sixes. Dhoni, who has been coping a lot of criticism for his waning finishing skills, turned back the clock and took India past the finish line with a final over six.
The third and final ODI will be in Melbourne on Friday.
India got off to a frantic start with Shikhar Dhawan hitting five boundaries in his 28-ball 32 runs. He put on 47 runs for the opening wicket with Rohit Sharma (43).
The latter had another strong outing, adding 54 runs with Kohli for the second wicket as India crossed 100 in the 18th over. But just when things were going smoothly, he mishit a pull off Marcus Stoinis (1-46) and was caught in the deep.
Ambati Rayudu (24) then came to the crease, and while he added 59 runs with Kohli for the third wicket, it was plain obvious that the number four batsman struggled for timing.
Kohli meanwhile was in cruise mode, rotating strike and picking the odd boundary with ease, as he reached fifty in 66 balls. The star batsman stayed in the same mode as the asking rate climbed.
But it was Rayudu who tried attacking the bowling and perished instead, caught in the deep off Glenn Maxwell (1-16) in the 31st over.
Dhoni then joined Kohli, and the duo put on 82 runs for the fourth wicket, with clever rotation of strike as India crossed 200 in the 37th over to keep pace with the asking rate.
Kohli changed gears as he hit two immaculate sixes through pure timing, and reached his hundred off 108 balls. It was his sixth ODI hundred against Australia.
The turning point came in the 44th over though, when Australia masterminded Kohli’s dismissal through some clever field placement in the deep. He holed out to Maxwell off Jhye Richardson (1-59).
Dhoni then took over and put on match-winning partnership with Karthik. In doing so, he turned back the clocks to lead India to a tense finish, and completed his second consecutive half-century in as many matches, 69th overall, off 53 balls.
The veteran’s running between the wickets, laced with two sixes as the only boundaries, finished things off in style for India.
Earlier, Shaun Marsh scored his seventh ODI hundred to take Australia to a challenging total.
Marsh arrived at the crease at 26-2 and scored 131 runs and added 94 runs off 65 balls with Glenn Maxwell (48 off 37 balls).
The hosts were unchanged from the previous game, while India brought in debutant Mohammed Siraj in place of Khaleel Ahmed.
Bhuvneshwar Kumar (4-45) and Mohammed Shami (3-58) exerted themselves on proceedings with the new ball, and didn’t let the Australian openers get away quickly.
Kumar bowled Aaron Finch (6) through the gate in the seventh over, in a near-similar replay of his dismissal in the first ODI. At the other end, Alex Carey (18) looked set once again before getting out two overs later, a top-edge off Shami’s quick bouncer caught at midwicket as Shikhar Dhawan took a skier.
It brought Marsh and Usman Khawaja (21) together, and they put on 56 runs off 65 balls. Their partnership threatened to turn the game away, but Ravindra Jadeja affected a brilliant run-out in the 19th over to dismiss Khawaja with a direct throw from backward point.
Marsh was able to manoeuvre the middle overs very well, as Mohammed Siraj (0-76) was proving expensive in every spell. The debutant sprayed the ball all over and was never able to hit a consistent line.
India were forced to bowl Kuldeep Yadav (0-66) and Jadeja (1-49) earlier in the innings than planned, and even Shami came back for a spell before the 25th over as the lack of a sixth bowling option started to show.
Australia did them a favour by losing wickets at regular intervals. Peter Handscomb (20) was stumped off Jadeja in the 28th over with MS Dhoni affecting another quick dismissal. But he had added 52 runs with Marsh for the fourth wicket carrying Australia past 100 in the 22nd over.
Marsh reached his half-century off 62 balls, and added 55 runs with Marcus Stoinis (29) for the fifth wicket.
Their partnership threatened to change the pace of scoring but Shami struck in the 37th over, an inside edge caught behind, to dismiss Stoinis.
Maxwell hit five fours and a six as Australia accelerated after reaching 200 in the 39th over. Marsh, meanwhile, had reached his hundred off 108 balls.
Siraj had a woeful day as he missed out twice on Maxwell’s wicket as the hard-hitting batsman survived on 26 and 41. First, DRS overturned an lbw decision in the 44th over with the ball going down leg, and then Rohit Sharma dropped a tough chance at extra cover in the 47th over.
Kumar returned to account for both Maxwell and Marsh in the 48th over and it dented momentum towards 300, as Australia lost a flurry of wickets.