India sealed first place after South Africa beat Australia in the final group game. The defeat, coupled with India's win over Sri Lanka earlier in the day ensured the Indians finished first.
This also ensures India face New Zealand on 9 July in the first semi-final, while Australia face hosts England on 11 July.
The South Africans had earlier posted a challenging 325 in their 50 overs, with du Plessis scoring 100 and van der Dussen scoring 95.
The Australian run chase started off in ominous fashion, with captain Aaron Finch being dismissed early while Usman Khawaja had to leave the field due to a hamstring injury. After losing 4 wickets with 119 on the board, opener David Warner stitched a threatening 100-run-partnership with Alex Carey
But with wickets falling at regular intervals, Australia finally folded, 10 runs short of South Africa's total, and at second place in the final standings.