India recorded a 15-run win against Australia to set-up a World Twenty20 final against arch-rivals Pakistan.
Yuvraj Singh smashed 70 from 30 balls to allow India to post a total of 188-5, before Shantha Sreesanth led a superb bowling effort under the Durban floodlights.
Sreesanth accounted for Adam Gilchrist (22) during his first spell before returning later in the innings to remove Matthew Hayden and complete figures of 2-12.
Hayden had made 62 from 47 balls and looked to be leading Australia to victory until Sreesanth uprooted his off-stump with the fourth ball of the 15th over.
That reduced Australia to 134-4 and ended a third-wicket stand of 66 in six overs between Hayden and Andrew Symonds.
With the required-rate rapidly spiralling, Australian hopes rested with the powerful Symonds.
The Queensland all-rounder had reached 43 from 26 balls - including two sixes - before he was bowled by Irfan Pathan in the 17th over.
Michael Hussey and Michael Clarke were together at the crease with Australia needing 30 from the last three overs.
But Harbhajan Singh (1-24) conceded just three runs and bowled Clarke (3) during an excellent 18th over that turned the game decisively India's way.
Australia eventually finished 15 short at 173-7 to spark jubiliant scenes amongst the Indian supporters in Durban, who made up the vast majority of a sell-out crowd.
Yuvraj's exceptional ability in the 20-over format had earlier allowed India to overcome a slow start and reach a formidable total after Dhoni won the toss.
The left-hander showed no ill effects from the elbow injury that kept him out of Thursday's win against South Africa - signalling his intent by pulling Stuart Clark over square-leg for six after coming to the crease at 30-1 in the sixth over.
Robin Uthappa (34 from 28 balls) played a shrewd supporting role during a third-wicket stand of 84 from 6.4 overs.
With Yuvraj's 70 containing five fours and five sixes, India were able to add 96 from the final seven overs of the innings.
Yuvraj was eventually out in the in 18th over attempting to hit Clarke's left-arm spin for another maximum, but by that stage the damage had been done.
Dhoni added 36 from 18 balls to boost the final total to match-winning proportions at 188-5.
India now travel to Johannesburg to face Pakistan in Monday's inaugural World Twenty20 final, a match you can watch live on Sky Sports 1 from 1.00pm (BST).