The Blitzboks topped their pool to set up a quarter-final meeting with Canada at the Vancouver Sevens.
South Africa won two and drew one on day one of the tournament. The final clash against England ended 12-12, but the Blitzboks' superior points difference ensured that they finished at the top of Pool A. South Africa will face hosts Canada, the runners-up in Pool D, in the Cup quarter-finals on day two.
As expected, the Blitzboks' final pool match was their toughest. England scored first through Dan Norton, who showed power and pace to finish in the left-hand corner.
Rosco Speckman hit back a minute before the break to bring South Africa back into the contest. A great conversion by Cecil Afrika saw the Blitzboks going to half-time with a 7-5 lead.
ALSO READ: Blitzboks canter past Chile
Dylan Sage scored an important try after the break. This time, it was Norton who was on the wrong end of a hand-off.
The winger would have his revenge, though, scoring a second try later in the half. Tom Mitchell nailed a touchline conversion to level the scores at 12-12.
England had one final chance to score after the hooter, but lost the ball forward. Knowing where the Blitzboks stood on the Pool A log, Afrika put the ball into touch.
Earlier in the day, South Africa scored a 33-0 win over Chile and then a 15-5 victory against Kenya.
Blitzboks fixtures (Day 2)
vs Canada (21:08 SA time)
Vancouver Sevens fixtures and results
Photo: Don MackKinnon/AFP Photo