Tracey Neville's team progress as Pool F runners-up, with two wins from three games, and will face four-time winners New Zealand on Saturday (03:20 BST).
The Roses opened up a 10-point half-time lead against world number five South Africa and although the Proteas improved, England prevailed.
Holders Australia beat Wales 89-24 to earn a semi-final with Jamaica.
Wales came through the preliminary stages of the competition unbeaten but lost all three games in the second round to finish bottom.
They will now filter into the placing matches, alongside Scotland.
Jamaica edged a 63-62 win against Malawi to qualify as Pool E runners up, while New Zealand, currently unbeaten in the competition, overcame Uganda 76-33 to progress as group winners.
England beat South Africa 62-46 to book their place in the Netball World Cup semi-finals in Sydney.