Left-arm seamer Marco Jansen took a career best 5-35 as South Africa bowled England out for 158 in their first innings early on day four of the deciding third Test at The Oval.
The visitors then took a second innings lead by moving to 1-70 at lunch.
Captain Dean Elgar was 35 not out with Keegan Petersen on seven and the tourists 30 runs ahead having seen off the new ball in difficult batting conditions.
The game has moved forward at pace with 20 wickets falling in four sessions after the first day was washed out and the second cancelled in a show of respect after the death of Queen Elizabeth.
Both teams' first innings lasted 36.2 overs as the seamers made hay on a helpful wicket.
But England were frustrated in their search for a breakthrough on Sunday, not helped by wayward lines that gave the visitors regular scoring opportunities.
There is still plenty in the wicket, and Elgar and fellow opener Erwee (26) rode their luck before the latter edged England captain Ben Stokes to Joe Root at first slip with the score on 58.
England had resumed the day on 154 for seven, but lost their last three wickets in 13 minutes for the addition of four runs.
Kagiso Rabada (4-81) had Ollie Robinson (3) caught by Elgar at short mid-off, before Jack Leach played the ball onto his stumps off the speedster.
Jansen wrapped up the innings when he claimed his first five-wicket haul in Test cricket when Ben Foakes (14) edged a delivery to Petersen at third slip.
The series is poised at 1-1 after both teams won by an innings inside three days in the two previous games.