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.

England dismiss Pakistan for 110 to seize control of Lord's test
Raphinha, Fermin score as Barcelona beat Athletic in home opener
Celtic and Rangers to play cup match behind closed doors after pitch invasion
Chelsea and Fulham reach League Cup third round as Welbeck scores on debut
PSG to meet Barca, Man City as Champions League draw throws up marquee ties