Virat Kohli smashed 116 runs and Vijay Shankar took two wickets in the final over to secure a nail-biting eight-run win for India against Australia in the second one day international on Tuesday.
Chasing India's 251 to level the five-match series, Australia got off to a strong start before the hosts roared back into the contest with some disciplined bowling.
It all came down to the final over, with the tourists needing 11 runs to win with two wickets in hand.
But Shankar struck twice in the first three balls of the over and Australia were all out for 242.
Marcus Stoinis was the top scorer for Australia with 52 but his dismissal in the first ball of the final over snuffed out Australia's hopes of a win in the see-saw contest.
India now take a 2-0 lead into Friday's third ODI in Ranchi.
Earlier, Kohli's 40th ODI century helped India, who had won the first match by six wickets, post 250 before being all out with 10 balls to spare at Nagpur's Vidarbha Cricket Association Stadium.
Aaron Finch and Usman Khawaja led Australia's robust reply with an opening stand of 83 before the Indian spinners hauled the hosts back into the contest with a flurry of wickets.
Stoinis tried his best down the order but it was not enough in the end.
SCORES IN BRIEF
INDIA: 250 all out in 48.2 overs (Dhawan 21, Kohli 116, Shankar 46, Jadeja 21; Cummins 4-29, Zampa 2-62)
AUSTRALIA: 242 all out in 49.3 overs (Finch 37, Khawaja 38, Handscomb 48, Stoinis 52, Carey 22; Bumrah 2-29, Shankar 2-15, Kuldeep 3-54)
Result: India won by 8 runs and led the 5-match series 2-0.
Player-of-the-match: Virat Kohli.