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.

Gauff tames Liu in Wimbledon 3rd round, Sabalenka beats Ostapenko
Ecstatic Hamilton puts Ferrari on pole for Silverstone sprint
Djokovic notches 105th Wimbledon match win, Sinner eases past Brooksby
Osaka beats Kasatkina to make Wimbledon last 16
Hamilton fastest in sole Silverstone practice
