Stoinis, on strike and with 11 runs required when the final over started, looked to attack medium-pacer Shankar’s first delivery but was instead was trapped lbw.
The West Australian reviewed the on-field decision and it only delayed the inevitable.
Adam Zampa scored two to give his teammates hope of a miracle then was clean bowled the next ball, prompting wild celebrations from India.
Shankar earlier scored 46 and was only bowling his second over of the match, having been hammered for 13 during his first over.
Peter Handscomb (48) and Alex Carey (22) had helped Stoinis take the game deep to a point where Australia required 65 runs from the final 10 overs.
Carey became Yadav’s third victim while Nathan Coulter-Nile and Pat Cummins were out during the 46th over, a cracker from Jasprit Bumrah that cost just one run and ended with Stoinis turning down a single to keep strike.
Bumrah also conceded a single run during his final over, with a confident Stoinis backing himself to take 20 runs off the final two overs.
The result means Australia will lose the series if they suffer another defeat in Ranchi on Friday.
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.
Pat Cummins snared figures of 4-29, taking the new ball and starting the innings with a wicket-maiden then later removing a well-set Kohli.
Zampa was on a hat-trick and single-handedly conjured a collapse of 3-15, including the prized scalp of MS Dhoni for a golden duck.
Finch and Langer will rue their team’s inability to deny Kohli, who now averages an outrageous 59.73 in ODIs, a seventh one-day ton against Australia.
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.