Moeen Ali helped put England in control of the opening Test with South Africa in Durban after a three wicket burst on the third day.
The Worcestershire all-rounder struck in his first two overs of the morning and quickly sent back JP Duminy and Worcestershire 2016 overseas player Kyle Abbott.
He then added the scalp of Dale Steyn to finish with 4-69 from 25 overs in what is his 20th Test as the Proteas were dismissed for 214 – 89 in arrears.
Then an unbeaten 60 from Joe Root helped England reach 172-3 by the close – an overall advantage of 261.
South Africa resumed on 137-4 from 52 overs in reply to England's 303 and, without any addition to the score, Stuart Broad picked up his fourth wicket in dismissing Temba Bavuma (10).
Moeen came into the attack for the 58th over – and struck with his third delivery of the day.
A superb delivery to Duminy (2) pitched on middle and off and spun and found the outside edge with Ben Stokes taking the catch at slip.
Then in his next over Moeen accounted for Abbott (0).
The ball hit inside edge and pad before James Taylor dived forward at short leg to claim a fine catch.
Although Abbott was given not out, England quickly reviewed the decision and the third umpire ruled in Moeen's favour.
Moeen collected his third wicket of the day to end the resistence of Steyn (17) who figured in an eighth wicket half century stand with centurion Dean Edgar.
The paceman went for a big hit but only succeeded in lofting a catch to Chris Woakes who held the chance at mid off at the second attempt.
Moeen was eventually taken out of the attack when the second new ball was taken after his spell today realised figures of 3-24 from 12 overs.
Steven Finn took the final two wickets in quick succession as South Africa were bowled out for 214, with Edgar carrying his bat for 118, to give England a lead of 89.
Moeen picked up the important wicket of Faf du Plessis for two on the opening day.
Du Plessis attempted to emulate the approach of AB De Villiers and Dean Elgar in trying to attack Moeen but he was bowled after coming down the wicket with the delivery just clipping the off bail.
Moeen said: "I've worked a lot harder since I've been here on my bowling and it's paying off slowly.
"There's a long way to go. I'm not going to stand here and say I'm a world-class bowler or anything like that. Today was a good step in the right direction.
"I've had to change my action quite a few times compared to when I first started.
"Even when I've bowled well in the past and felt like my action has been quite good, I've had to change that as well.
"It's mainly being patient and learning about the art of bowling spin. It's tough but I feel like I'm learning quite a lot."
Moeen added: "We probably have to be proactive tomorrow, while still having a lot of patience with the bat.
"We've got two guys in who score pretty quickly and the guys coming in after do as well.
"We've got a good foundation and tomorrow is about not doing what both teams have done and lose wickets in the first session in clusters."