An unbeaten 72 from Virat Kohli powered India into the final of the World Twenty20 as they beat South Africa by six wickets in Dhaka.
Faf du Plessis and JP Duminy both made good contributions for South Africa as they set India a testing target of 173 in their 20 overs.
But four Indian batsmen managed to get starts alongside Kohli in reply and Mahendra Singh Dhoni's men got home with five balls to spare to earn a date with Sri Lanka in Sunday's final.
South Africa won the toss and elected to bat but lost Quinton de Kock (six) in the first over as he attempted to heave a Bhuvneshwar Kumar delivery through the leg side and instead got a faint inside edge which carried through to Dhoni.
Hashim Amla and Du Plessis then began to find the rope with some consistency but Amla was next to go for 22 when Ravichandran Ashwin beat him with a beauty that turned far more then he expected and took out off stump.
That brought Duminy to the crease and the duo put on 71 in 8.4 overs including 16 in the 12th and 17 in the 13th.
Du Plessis' innings came to an end at the hands of Ashwin with another that turned but this time it hit the batsman and dribbled onto the stumps, forcing the skipper to exit for 58 from 41 balls including five fours and two sixes.
The score was 115 for three at that point and it soon became 129 for four when AB de Villiers (10) top-edged Ashwin to Rohit Sharma at long leg.
Duminy (45 not out) and David Miller (23 not out) then supplied some late hitting to guide the Proteas to a very useful 172 for four.
India got their reply off to a flying start and were 33 without loss after three overs but Sharma (24) fell in the fourth as he skied a Beuran Hendricks delivery into the hands of Du Plessis.
Ajinkya Rahane and Kohli put on 38 for the second wicket but it was fairly slow going and when Rahane top-edged Wayne Parnell to De Villers for 31, India were 77 for two off 9.3 overs.
Kohli then began to take the lead and a 56-run partnership with Yuvraj Singh (18) upped the rate and put India in the driving seat before De Villiers took another catch off Imran Tahir to remove the latter.
Suresh Raina came in and added 21 off just 10 balls and, although he departed in the penultimate over, Kohli and Dhoni (nought not out) saw India home.