Cape Town - Vitality Netball Nations Cup hosts England had to fight hard to beat the Proteas 58-54 on Wednesday in Birmingham.
Both South Africa and England came into match day two having lost their opening matches three days earlier against Jamaica and New Zealand respectively in Nottingham.
The win by the Commonwealth champions dampened any chance of South Africa reaching the final of the inaugural tournament this weekend.
The Proteas and the Vitality Roses recently met in Cape Town for the SPAR International Netball Series and England won that series 2-1 and both teams know each other very well.
South Africa's head coach Dorette Badenhorst made two changes to the team that played against Jamaica last Sunday, with Lefebre Rademan and Rome Dreyer starting ahead of Ine Marie Venter and Izette Griesel.
South Africa will feel they should have won the game, especially after having started like a house on fire and having led the first two quarters.
England's Stacey Francis was named player of the match.
"The team really worked hard during training sessions and this was evident in how we played today. Yes, we made a few mistakes during the match and think that our defence got tired towards the end. I am proud of the team, they fought hard and never gave up. We'll get ready for the New Zealand game now this weekend," said Badenhorst.
South Africa will face New Zealand on Saturday in London at 16:30 SA time.
Q1: England 13 - South Africa 16
Q2: England 25 - South Africa 26
Q3: England 42 - South Africa 37
Q4: England 58 - South Africa 54
South Africa's starting seven:
Rome Dreyer (C), Phumza Maweni (GK), Bongiwe Msomi (WA), Lenize Potgieter (GS), Karla Pretorius (GD), Lefebre Rademan (GA), Shadine van der Merwe (WD)