New Zealand will face India in the final of the Champions Trophy after defeating South Africa by 50 runs in the second semi-final on Wednesday.
Electing to bat, New Zealand racked up a tournament record 362-6, powered by centuries from Rachin Ravindra (108) and Kane Williamson (102) at the Gaddafi Stadium in Lahore.
Daryl Mitchell (49) and Glenn Phillips (49 not out) also made vital contributions.
In reply, South Africa could only manage 312-9, with David Miller (100 off 67) completing his century on the final ball of the match, while Rassie van der Dussen (69) and Temba Bavuma (56) struck half-centuries.
New Zealand skipper Mitchell Santner used seven bowlers but led by example with a match-turning 3-43.
The final will be played on Sunday at the Dubai International Cricket Stadium.

Clinical Sinner holds off wildcard Jodar to reach Madrid Open semis
LIV Golf touts 'strong momentum' despite New Orleans postponement
Baptiste's variety drags Sabalenka out of comfort zone in Madrid shock
FIFA to increase financial distribution to all 48 World Cup teams by 15%
Sabalenka stunned by Baptiste in Madrid Open quarter-finals
