Danni Wyatt scored her second one-day international century and Sophie Ecclestone took six wickets as champions England crushed South Africa by 137 runs on Thursday to set up a mouthwatering Women's World Cup final against heavyweights Australia.
Wyatt, dropped five times, punished South Africa with 129 off 125 balls to help England build an imposing 293 for eight at Christchurch's Hagley Oval.
South Africa had won the toss and elected to field.
Ecclestone, the world's top-ranked spinner, celebrated a personal best 6-36 as South Africa collapsed to be all out for 156.
"Really pleased, that was a really complete performance from the girls today, something we've been searching for," England captain Heather Knight said.
"I think we'll go in as underdogs (against Australia) for sure but we're all equal at the start of the game."
Having started the tournament with three straight defeats, England have rebounded with five wins.
Thursday's victory was their most complete performance of the tournament, with Sophia Dunkley chipping in 60 in a 116-run partnership with Wyatt for the fifth wicket.
The English may need to lift their game again, however, to beat undefeated Australia at the same venue on Sunday.
Meg Lanning's side thrashed West Indies in the other semi-final and have a chip on their shoulder after being knocked out of the 2017 semi-finals.
Australia are unlikely to reproduce South Africa's ragged fielding display, which saw Wyatt dropped on 22, 36, 77, 116 and 117 before she was finally caught by a scrambling Lizelle Lee after hitting Masabata Klaas to short third man.
By that time, England were well on the way to setting South Africa a would-be world record chase.
Seamer Anya Shrubsole, the hero of the 2017 World Cup final, quickly put South Africa on the back foot with a fine spell of swing bowling to remove Lee for two and the dangerous Laura Wolvaardt for a caught-and-bowled duck.
Kate Cross and Charlie Dean took a wicket each to leave South Africa teetering at 67 for four before Ecclestone grabbed the remaining wickets to wrap up the match early.
Australia and England have won all of the 50-over World Cups barring New Zealand's sole triumph in 2000 on home soil.
Three-times semi-finalists South Africa missed out on a maiden final again but captain Sune Luus said her team had a "great World Cup".
"Don't think we had our best fielding performance (today)," she said.
"I just think we needed to be clinical today and we weren't."