Manchester: Moeen Ali's sparkling strokeplay in his undefeated 67 put England in total control of the fourth Test with a lead of 360 over South Africa at Old Trafford.
England ended a third day curtailed by early evening rain on 224 for eight and, with two full days remaining, will be confident of wrapping up a 3-1 series win.
Although the comfort of their first-innings lead meant there would have been few nerves in the England dressing room, the hosts were struggling at 134 for six when Moeen walked to the crease.
Jonny Bairstow, whose first-innings 99 had been key to England's lead, soon departed for 10, leaving Moeen with only the lower order for support.
England had struggled against the spin of Keshav Maharaj who was making the most of the rough outside off-stump to the left-handed batsmen.
But Moeen took the game to the left-arm spinner, putting on a 58-run partnership with Toby Roland-Jones and eliminating the concern over the rough with positive footwork.
Three times Moeen hit Maharaj for six and his confidence, shot selection and execution raised the question of why he is batting down at number eight.
After Roland-Jones departed, top-edging as he tried to pull Kagiso Rabada, Stuart Broad joined Moeen and the pair will resume on Monday after rain cut play short in the final hour.
South Africa's first-innings batting had left them with an extremely difficult task but their bowlers were not intent on ending the series without a fight.
Paceman Morne Morkel got the early breakthroughs, striking twice before lunch.
Alastair Cook went in the seventh over, attempting a cover drive, but his thick edge flew to Theunis de Bruyn, who comfortably pocketed the catch at gully.
Tom Westley went in similar fashion, edging to substitute fielder Aiden Markram, who held on at a gully to leave England on 30 for two.
After lunch, England opener Keaton Jennings, who has struggled throughout the series and was badly in need of a good score, departed for 18, making a mess of a short delivery from Rabada to give Hashim Amla a simple catch at first slip.
England skipper Joe Root looked composed and confident again but fell one run short of his half-century after dragging on a low delivery from Duanne Olivier.
Olivier had his tail up, causing problems with his clever right-arm medium-fast deliveries and after troubling Stokes outside the off-stump on several occasions, he got his reward when the England batsman edged to skipper Faf du Plessis at first slip.
Broad had earlier claimed the final wicket of South Africa's first innings.
Olivier's attempted pull ended in a top-edge which was safely gathered by keeper Bairstow.
James Anderson ended with his best figures in a Test on his home ground of four for 38 in 17 overs.
England 1st innings: 362
(J. Bairstow 99, B. Stokes 58, J. Root 52; K. Rabada 4-91)
South Africa 1st innings
D. Elgar lbw b Anderson 0
H. Kuhn c Stokes b Ali 24
H. Amla c Bairstow b Roland-Jones 30
T. Bavuma b Anderson 46
F. du Plessis b Anderson 27
Q. de Kock c Bairstow b Broad 24
T. de Bruyn c Root b Anderson 11
K. Maharaj lbw Ali 13
K. Rabada c Stokes b Broad 23
M. Morkel (not out) 20
D. Olivier c Bairstow b Broad 4
Extras (b-3, nb-1) 4
Total (all out, 72.1 overs) 226
Fall of wickets: 1-2, 2-47, 3-84, 4-131, 5-132, 6-146, 7-167, 8-189, 9-220.
Bowling: J. Anderson 17-5-38-4; S. Broad 16.1-4-46-3; T. Roland-Jones 11-3-41-1; M. Ali 21-5-57-2; B. Stokes 6-0-34-0 (nb-1); D. Malan 1-0-7-0.
England 2nd innings
A. Cook c de Bruyn b M. Morkel 10
K. Jennings c Amla b Rabada 18
T. Westley c sub b M. Morkel 9
J. Root b Olivier 49
D. Malan c de Bruyn b Maharaj 6
B. Stokes c du Plessis b Olivier 23
J. Bairstow c Rabada b Olivier 10
M. Ali ((not out) 67
T. Roland-Jones c Maharaj b Rabada 11
S. Broad (not out) 0
Extras (b-9, lb-9, nb-1, w-2) 21
Total (8 wkts, 66.2 overs) 224
Fall of wickets: 1-16, 2-30, 3-55, 4-72, 5-129, 6-134, 7-153, 8-211.
To bat: J. Anderson
Bowling: M. Morkel 12-2-39-2 (nb-1); K. Rabada 15.2-4-37-2 (w-2); K. Maharaj 27-5-92-1; D. Olivier 12-5-38-3.
Umpires: Aleem Dar, Kumar Dharmasena
TV umpire: Joel Wilson
Match referee: Ranjan Madugalle