Australia 221 and 88 for 3 (Handscomb 23*, Shaun Marsh 7*) need 524 more runs to beat South Africa 488 and 344 for 6 (du Plessis 120, Elgar 81)
Scorecard and ball-by-ball details
This was a magical day of Test cricket - and not in the mere figurative sense of the word. What sorcery was behind South Africa's amazing, never-ending innings, which kept going and going and going, defying all rational attempts at explanation? And how, from an attack crippled by injury, did South Africa conjure three dangerous fast bowlers by the close of play? Surely the average muggle will never understand the mysteries of day four in Johannesburg.
It was a day on which South Africa started with an advantage of 401 and batted on, and on, and on, past a lead of 450, and 500, and 550, and 600. The accepted explanation was that Faf du Plessis would have a limited attack at his disposal: Morne Morkel had a side strain, Kagiso Rabada was suffering from a stiff back, and Vernon Philander had strapping on his leg. By stumps, Morkel had 2 for 18, Rabada had caused new-ball jitters, and a catch had been dropped off Philander's bowling.
Du Plessis had finally declared at tea, setting Australia an ostensible target of 612 for victory. For context, only once in Test history has a team scored more than 500 in the fourth innings: in the famous timeless Durban Test of 1939, England made 654 for 5, a draw declared on day 10 only because England, who were just 42 runs from victory, had to board a train to catch up with their ship home, which had already left Durban without them and was now in Cape Town.
Whatever the reason for du Plessis' conservatism, he knew that only defeat in this Test could prevent South Africa from a historic series win at home against Australia, which they had not achieved since 1970. By the time du Plessis declared, that possibility had not only been killed off, it had been mummified and sealed inside a sarcophagus inside a booby-trapped mausoleum, never again to be seen by human eyes.
But if victory seemed a secondary consideration for South Africa for much of the day, by stumps they were nevertheless in a strong position to achieve a 3-1 series result. Australia finished the day on 88 for 3, with Peter Handscomb on 23 and Shaun Marsh on 7. And the most impressive thing was that the retiring Morkel, in his final Test, had insisted on bowling through the pain of his injury to claim two of the three wickets.
Australia's innings had started with what South Africa thought was a wicket - Matt Renshaw was given out caught-behind first ball off Rabada, but had the decision overturned on review. A few overs later, Renshaw was put down at gully by Temba Bavuma off the bowling of Philander, but his luck ran out on 5, when Morkel angled one from around the wicket to strike the pad and trap him lbw.
It was inspirational stuff from Morkel, who by stumps, had added a second wicket, that of Joe Burns, who was lbw for 42, walking across his stumps and trying to work a yorker through the leg side. Australia had also lost Usman Khawaja lbw for 7, when he was adjudged not to have played a shot against Keshav Maharaj, and was struck outside the line of off stump. Khawaja's review was in vain; if he had played a shot it had been a truly woeful one, for he missed the ball by several miles.
Batting had looked much easier for the South Africans, and particularly for du Plessis, who scored his first Test century since October 2017, and ended a poor run of form in which he had not passed 20 for the past nine innings. He scored all around the ground, often adventurously, as when he lifted Pat Cummins over cover point for six, and brought up his century from his 163rd delivery with an outside edge for four off Josh Hazlewood.
He struck 18 fours and two sixes, and his effort was all the more impressive, given that he had earlier received a painful blow to the finger by a rising ball from Cummins. Eventually, du Plessis was caught at slip off the bowling of Cummins for 120, by which stage, his partnership with Dean Elgar was worth 170 runs.
The holding pattern of the game was never more obvious than when Elgar was batting. He did not score a single run until the 65th ball of the day's play, and by the time he lifted Chadd Sayers over the infield for those two runs, Elgar had seen a full 91 deliveries bowled in the match since his last run on the previous afternoon.
Incongruously, he brought up his fifty with a six clubbed over long-on off the bowling of Mitchell Marsh, the landmark coming in 199 deliveries and 305 minutes. Just as incongruously, Elgar later fell to a slog across the line, when he miscued one off Nathan Lyon and was well-caught by Shaun Marsh running back from extra cover. Elgar's 81 had taken 250 deliveries and 337 minutes.
Soon afterwards, Australia claimed another wicket when Quinton de Kock was lbw for 4 to Cummins, who took his tally for the match to nine wickets, to add to the half-century he scored in Australia's first innings. Still, there was no declaration. At least not until tea, by which time Temba Bavuma had 35, Philander had 33, and South Africa had 344 for 6. The magic of the amazing never-ending innings had finally worn off, but the enchantment of Morkel's recovery was still to come.
Brydon Coverdale is an assistant editor at ESPNcricinfo @brydoncoverdale