Centuries by Ben Stokes and Ollie Pope, followed by two late wickets, put England in a dominant position on the second day of the third Test against South Africa at St George's Park on Friday.
England declared on 499 for nine and South Africa were struggling on 60 for two when rain brought an early close to a day which the hosts would probably prefer to forget.
It started with the news that strike bowler Kagiso Rabada would miss the fourth and final Test in Johannesburg next week because of his fourth disciplinary transgression within 24 months.
Then, after taking a pummelling from the England batsmen, the day ended with the hosts facing an uphill battle to avoid going into that match one-down in a series which is tied at 1-1.
Off-spinner Dom Bess took both wickets for England, while Mark Wood bowled with electrifying pace and hit not out batsman Dean Elgar a painful blow on the left forearm.
World player of the year Stokes (120) and Pope (135 not out) set up England's big total by putting on 203 for the fifth wicket. They came together on the first day when their side were struggling at 148 for four.
In contrast to an attritional first day, when England could only score 224 for four in 90 overs, the tourists scored freely for most of the day, although Pope made hard work of moving from 75 at lunch to his century, needing most of the afternoon before he punched Anrich Nortje through midwicket for his 14th boundary after facing 190 balls.
While Pope, 22, moved cautiously to join Dom Sibley in scoring a maiden Test hundred during the series, Sam Curran provided the impetus for England as he hit an aggressive 44 off 50 balls, with six fours and a six. He and Pope put on 59 for the seventh wicket, with Pope contributing 13.
England were already in a strong position when they reached tea at 426 for eight. The 37 minutes after the break rubbed it in as Wood joined Pope with a licence to score as quickly as possible.
Wood slammed five sixes in an innings of 42 off 23 balls, dealing out severe punishment to left-arm spinner Keshav Maharaj before holing out to give Maharaj his fifth wicket, albeit at a cost of 180 runs.
There was a bizarre incident when Wood appeared to have been caught off Rabada when the total was 467. England captain Joe Root signalled a declaration but when Rabada was found to have sent down a no-ball after a check by the umpires, Root cancelled his decision and 32 runs were added, with Pope playing some outrageous shots, including two switch-hit left-handed shots for four and a hooked six off Rabada.
South Africa reached 50 in reply without any alarms before Pieter Malan chipped a return catch to Bess. Coming on as third change Wood discomfited both Elgar and Zubayr Hamza before Hamza was caught at short leg off Bess in what proved to be the final over of the day.
Ben Stokes and Ollie Pope both completed centuries