India reached the final of the Champions Trophy after defeating Australia by four wickets in the first semi-final in Dubai on Tuesday.
Rohit Sharma's men bundled out the Aussies for 264 in 49.3 overs, and then reached the target with 11 balls remaining.
Virat Kohli, who led the way for India with 84 off 98 balls, broke Sachin Tendulkar's record of most fifty-plus scores in ICC ODI tournament history.
Kohli now has 24 fifty-plus scores.
He was supported in the run chase by Shreyas Iyer (45) and KL Rahul (42 not out).
Skipper Steve Smith top scored for Australia with 73 off 96 balls, while Alex Carey contributed 61 (57 balls).
Mohammed Shami was the pick of Indian bowlers with figures of 3-48, while Varun Chakravarthy and Ravindra Jadeja took two wickets each.
South Africa will face New Zealand in the second semi-final in Lahore on Wednesday.

AC Milan, Inter complete acquisition of San Siro for new stadium project
Pant returns to India squad for test series against South Africa
Mac Allister heads Liverpool to Champions League win over Real Madrid
Sabalenka overpowers Pegula, Gauff eliminates Paolini in WTA Finals
Pakistan win ODI against South Africa in last over as Salman shows the way
