The bowlers came to the party in Rajkot after being hammered around by Aaron Finch and David Warner in the first ODI in Mumbai. Defending 340, Ravindra Jadeja, Kuldeep Yadav and Mohammed Shami struck at crucial times to make sure the Aussies don't get away with the game despite a 96-run stand for the third wicket between Steve Smith and Marnus Labuschagne.
Smith and Labuschagne did look to take the game away at one point with the former looking increasingly comfortable at point before the former Australia captain chopped one off Kuldeep on to his stumps to fall for 96 in the 38th over -- which also saw the return of Alex Carey two balls earlier. Smith's wicket was Kuldeep's 100th in ODIs and he became the third fastest Indian to reach the milestone and fastest Indian spinner ever.
Following Smith's wicket, Ashton Turner and Aston Agar did put on a small stand of 38 runs but Shami got the wickets of Turner and Pat Cummins on consecutive balls to peg the visitors back further and break any hopes of taking the series with a game to spare.
The pacers once again stood up for Virat Kohli after an initial struggle by the spinners with Shami picking up 3 wickets and Navdeep Saini, Kuldeep and Jadeja picking up two wickets apiece.
However, amidst the joy of victory, India will be sweating over the fitness of Rohit Sharma, who injured his left hand while trying to save a boundary of Saini's bowling. The India opener walked off the field straight away and was attended by physio Nitin Patel.
Back in form since the last T20 encounter against Sri Lanka, Dhawan opener looked solid in his 90-ball-96 while Kohli, back at his familiar one drop position, held the middle-order with a 78 off 76 balls and Rahul (80 off 52 balls) provided the final flourish in what was much improved batting performance from the hosts.
While Dhawan added 81 for the opening stand with Rohit Sharma (42) who would regret this missed opportunity on a batting belter after getting set, the southpaw also had a vital 103-run stand with Kohli for the second wicket.
The Kohli-Rahul duo's 78-run partnership off 10.3 overs was also pivotal as it helped the latter to launch a final assault during the end overs.
While Dhawan's innings had 13 fours and a six, Kohli had six hits to the fence including a classic jab-flick off Pat Cummins (0/53 in 10 overs). Rahul's was a stand-out innings with six boundaries and three -maximums, one of which was a lofted cover drive off Mitchell Starc (0/78 in 10 overs), who had a forgettable day.
Adam Zampa (3/50 in 10 overs) was once again the stand-out performer taking Kohli out of equation for the seventh time in limited overs just when he was looking to get his 44th ODI ton.
At the start, Dhawan began with a bowler's bck-drive, giving a glimpse of what was in store. The southpaw completed his sixth fifty versus Australia in 60 balls as he played shots all around the ground.
The last time Dhawan scored successive fifties was in January 2019 against New Zealand. This was his 29th in 50-over cricket.
The left-hander was particularly harsh on left-arm spinner Ashton Agar (0-63 in 8 overs), whom he hammered for two successive fours in the 25th, a sweep and a reverse-sweep, and then in 27th over stuck a four and a six, not allowing him to settle down.
In fact the 77 runs from 10 overs bowled by fifth and sixth bowling option Marnus Labuschagne (0/14 in 2 overs) was the difference from the last game.
However, Dhawan missed out on his 18th ODI hundred by four runs when he pulled a Kane Richardson ball straight to fine leg in 29th over.
Shreyas Iyer (7) fell cheaply. But Kohli was in sublime touch as he ran the singles and doubles with intensity and also it the loose balls for boundary.
(With inputs from PTI)