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.

Dembele named FIFA player of 2025, Bonmati wins women's award
Australia's Green becomes IPL's most expensive overseas player
Jordan qualifies for the FIFA Arab Cup final
Sharjah Warriorz make it two in two with 11-run win over Gulf Giants
Bournemouth rescue draw with Man United in eight-goal thriller