After a disappointing show in the first ODI in Mumbai, India came back with a strong all-round performance in Rajkot to beat Australia and level the three-match series 1-1. Sent in to bat first, India put up a largely improved show in the second ODI, with fluent half-centuries from Shikhar Dhawan, Virat Kohli and KL Rahul powering them to 340/6 in their 50 overs. While Australia looked good in the chase at one point with a 96-run stand between Steve Smith and Marnus Labuschagne, a brilliant over from Kuldeep Yadav and two wickets in two balls from Mohammed Shami swung the match in India's way as they bowled their opponents out for 304.
After Australia captain Aaron Finch won the toss and sent India in to bat, the hosts got off to a brisk start. After the last match, where India failed to put on a big total batting first, Virat Kohli spoke about giving bowlers too much respect and not taking the game by the scruff of the neck, and Rohit Sharma and Shikhar Dhawan paid heed, putting on 81 runs at a good strike rate for the first wicket, before the former was trapped LBW trying to sweep Adam Zampa.
After the experiment to send KL Rahul at no.3 and Kohli at two down in the previous match failed, India reverted to playing their captain at his best position and it paid dividends.
Kohli looked good from the go and kept piling on the runs at a steady rate along with Dhawan. Dhawan looked set for his 18th ODI century but fell agonizingly close after he hit a poor delivery by Australia pacer Kane Richardson to Mitchell Starc at fine leg, returning to the stands after making 96 off 90 deliveries and bringing to an end the 103-run partnership with his captain.
Dhawan also suffered a rib injury during his knock, which prevented him from fielding in the second innings.
Shreyas Iyer also returned to his usual no.4 slot, but he too fell to Adam Zampa with a score of just seven runs.
KL Rahul, coming in at a largely unfamiliar no.5 role, showed that batting position hardly matters when you are in form. Together with Kohli, Rahul upped the tempo as the pair put up a partnership of 78 runs from 63 deliveries.
Leg-spinner Zampa, who was Australia's best bowler on the day, then claimed Kohli's wicket for the second match in a row - and the fifth time in ODIs.
Rahul carried on his rampage, scoring a 52-ball 80 as India put up a daunting target for Australia.
Australia got off to a tentative start and India got the early breakthrough when Manish Pandey took a stunning catch off Mohammed Shami's bowling to dismiss the dangerous David Warner.
Steve Smith then put on a good stand with Aaron Finch but a smart stumping by KL Rahul - filling in behind the stumps in Rishabh Pant's absence - off Ravindra Jadeja's bowling brought an end to the Australian skipper's innings.
Labuschagne, playing his first ODI inning, looked to seamlessly bring his Test form into 50-over cricket, as he and Smith kept the scoreboard ticking. The duo seemed to be taking the match away from, with a flurry of boundaries to complement good running between the wickets.
But Jadeja had the breakthrough again, when he got Labuschagne to hole out to long-off for 46.
Kuldeep Yadav then turned the match on its head, getting Alex Carey's wicket and castling Steve Smith for 98 in one over. Carey's wicket was also Kuldeep's 100th ODI wicket.
The pacers cleaned up the tail, with Mohammed Shami knocking over Ashton Turner and Pat Cummins' stumps with two brilliant yorkers in two consecutive deliveries.
Navdeep Saini took two at the death and Jasprit Bumrah finished things off as India beat the visitors by 36 runs.
Despite the win, India will be concerned with the injuries to openers Shikhar Dhawan and Rohit Sharma, who hurt his shoulder while trying to save a boundary.
The result means that the final match in Bengaluru on Sunday will decide the series.