Australia win by three wickets in a tense chase of 213 to book a date with the unbeaten hosts in Ahmedabad on Sunday.
Australia will play Virat Kohli and India for the Cricket World Cup trophy after beating South Africa by three wickets in a semifinal thriller.
After restricting the South Africans to 212 – despite David Miller’s defiant 101 – Australia eked their way to 215-7 on Thursday to win with 16 balls to spare in a tense atmosphere inside Kolkata’s Eden Gardens.
Travis Head (62) led Australia’s rollicking start before a mid-innings wobble put the five-time champions in a spot of bother.
South Africa did not let big partnerships bloom, but Australia eventually reached the target with Steve Smith (30) and Jos Inglis (28) providing useful cameos.
Australia’s captain, Pat Cummins, hailed his side’s performance, including their fielding, which came under fire in earlier matches.
“It was a great effort, and there were plenty of good performances. I’m pretty pumped,” he said.
“[Our fielding] probably wasn’t up to scratch at the start of the tournament. But the effort was showed by all today. You’ve got David Warner, 37, diving around in the field.”
Earlier, Temba Bavuma’s decision to bat under an overcast sky backfired, and South Africa slumped to 24-4 inside 12 overs before light rain held up play.
Miller and Heinrich Klaasen (47) arrested the slide after play resumed with a 95-run partnership, but Head’s double strike put Australia back in charge.
Miller smashed Cummins for a six to bring up his hundred but fell in the same over trying to clear the rope again.
In contrast, Australia got off to a flyer, plundering 60 runs from the first 10 overs with Warner smashing four sixes in his 29.
Bavuma introduced spin in the seventh over, and the move immediately paid off as Aiden Markram bowled Warner with his first delivery.
Kagiso Rabada dismissed Mitchell Marsh in the next over, but South Africa’s catching was rather sloppy, and Head was the beneficiary on two occasions either side of his fifty.
Just when Australia appeared to be cruising to a comprehensive victory, South Africa’s spinners injected fresh excitement into the contest.
Keshav Maharaj bowled Head through the gate, and Tabraiz Shamsi dismissed Marnus Labuschagne and Glenn Maxwell to jolt Australia out of any complacency that might have crept in.
Steve Smith made 30 and Josh Inglis scored 28, but South Africa kept fighting back. However, Cummins and Starc combined to foil the Proteas and get Australia over the line.
India beat New Zealand in the first semifinal on Wednesday to book their place in the final in Ahmedabad on Sunday.
Australia will be bidding to win the 50-over World Cup for a record-extending sixth time while host nation India are seeking a third title.
“It was a tense finish, an amazing game. It’s hard to unpack it all,” man of the match Head said.
“We had to play a little bit differently. We knew it was going to be a grind and a battle, and that’s what it was.”
He said he was looking forward to testing himself against India.
“They have an unbelievable attack, but that’s why you play. I’d never have dreamt I’d be in a World Cup final playing an unbelievable team,” he said.
Cummins said his side could approach Sunday’s final with confidence.
“The good thing is a few of us have been in a final before, so we can draw on that. You’ve just got to embrace it. The stadium is going to be pretty packed I would imagine.”
South Africa, meanwhile, have never won a semifinal at the World Cup in five attempts.
“Quite hard to put into words,” a dejected Bavuma said. “Our character came through. It was a dog fight.
“The way we started with the bat and the ball was probably the turning point. We lost it quite badly there.”
Follow Al Jazeera English: