All-rounder Shankar was left to bowl the 50th over and he trapped Stoinis lbw with his first delivery and sealed the win by bowling last man Adam Zampa two balls later.
The visitors, however, lost their way after that as they lost wickets at regular intervals.
Australia was all out for 242 in 49.3 overs, and India led the five-match series 2-0.
The Indian skipper was in good touch and played some delightful drives whenever the ball was pitched up.
However, the real turning point came during Australia's innings when Jadeja, who is rated as one of the best fielders in the world put gave the world a display of incredible on-field brilliance.
He also batted well, contributed 46 runs off 41 balls before being run out in an unfortunate manner.
The Australian chase was off to a promising start with Aaron Finch and Usman Khawaja putting together an 83-run opening partnership.
Kuldeep broke the opening stand by trapping Finch and later sent back risky Glenn Maxwell (4) and Carey while Jadhav and Jadeja accounted for Khawaja and Shaun Marsh respectively.
Fast bowler Cummins took 4-29, and legspinner Adam Zampa, 2-62, pegged back India's middle order.
Kohli offered just one chance, a run-out opportunity that Maxwell missed when the gifted batsman was on 86, before picking out Stoinis in the deep while searching for an 11th boundary.
The two batsmen showed tremendous grit under pressure but Kuldeep provided the much-needed breakthrough by castling Carey, who dragged it on his stumps.
Rayudu struggled to rotate strike as the ball was not coming on to the bat and was eventually adjudged leg before off Lyon.
Cummins returned to break the stand, and took three wickets - including Kohli - in the final overs to restrict the hosts.Australia's chase began well for a change.
There were positive signs for coach Justin Langer, who should take some solace from the fact that some 248 of India's 250 runs were scored when Kohli was at the crease. Kuldeep Yadav and Jasprit Bumrah too perished in a jiffy and India could not even bat for full 50 overs.