Group 1 winners England and Australia, who beat West Indies in the first match of the day, made the final four from the six-team pool.
South Africa posted 189 for two after Van de Dussen smashed six sixes in his 60-ball knock but needed to limit England to 131 or fewer to edge out Australia on net run-rate.
England, who topped the group when they passed 109, finished on 179-8 after a hat-trick by Kagiso Rabada in the final over. It was England’s first loss in five matches.
Pakistan are already through to the semi-finals from Group 2 with India, New Zealand and Afghanistan fighting for the last spot.
“The win was important, but a bittersweet ending for us,” said South Africa skipper Temba Bavuma after his side finished on eight points, the same as England and Australia.
“Tough to bring net run-rate into effect in our last game, especially against a side like England,” he added. (AFP)