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.

Daniil Medvedev handed Dubai title after Griekspoor withdrawal
England beat New Zealand to keep Pakistan's T20 World Cup hopes alive
Medvedev to face Griekspoor in bid for second Dubai title
Real Madrid face Man City again in Champions League knockouts
India defeat Zimbabwe to revive T20 World Cup hopes