South Africa shrugged off a ground evacuation because of a fire alarm to reach 38 for one in the first Test against New Zealand on Friday, a lead of five runs.
With the game evenly poised after an absorbing first three days, both sides were hoping looming rain over the weekend did not dictate the outcome.
"It does seem pretty even but we don't know what the weather holds. But hopefully we can make a game of it, it's always nice to get a result," said South Africa's man of the moment Keshav Maharaj.
Maharaj claimed his first five wicket haul to halt the New Zealand innings at 341 with a Kane Williamson ton and the heroics of an injury-hit Ross Taylor giving them a 33-run first-innings lead.
BJ Watling, who contributed to New Zealand's total with 50, believed a result was still possible with "one crazy session" that could change the balance.
"We've just got to (take) each session at a time and see what that leaves us with," he said.
"You can't play a game of cricket expecting it to rain because sometimes it doesn't and you get caught out. It's just the nature of the beast."
South Africa lost opener Stephen Cook for a duck in the first over of their second innings and, despite a 20-minute delay when the University Oval was evacuated after a fire alarm in the main grandstand, they survived without further loss until bad light stopped play.
Firemen who searched the area blamed steam for setting off the alarm and when play resumed, in gathering gloom, New Zealand's spinners were unable to find success against Hashim Amla, who was unbeaten on 23, and Dean Elgar (12).
Cook was caught behind off Trent Boult without scoring on the fourth ball, and walked rather than seek a review -- although replays were unable to detect the ball hit the bat.
Earlier Williamson's 130 plus valuable half-centuries from Jeet Raval and Watling -- along with Taylor's late return despite a calf injury -- carried New Zealand to 341.
It was the first time in seven Tests dating back to 2012 that New Zealand have led South Africa after the first innings.
Williamson brought up his 16th Test century, putting him level with Taylor and one behind the New Zealand record of 17 held by the late Martin Crowe.
After a patient 380 minutes in the middle, in which he faced 241 deliveries, the captain was eventually undone by Kagiso Rabada who used the extra bounce and movement of the new ball to get an edge.
It triggered a run of three wickets for 27 runs that had New Zealand 304 for eight when Neil Wagner levelled the scores with a nick off Vernon Philander that brushed Quinton de Kock's fingers on its way to the boundary.
Boult put New Zealand in front with a single off Maharaj but was bowled soon after by the spinner to bring Taylor back to the middle for a last stand with Wagner.
With the lead secured, Wagner opened up with a six and two fours off consecutive balls from Philander and added another six and four off Maharaj.
Taylor, crippled by a calf tear that forced him from the field when on eight early in the innings, was barely able to run.
After an early single off Maharaj, his one other scoring shot came from clouting Morne Morkel over the ropes for six.
The 27-year-old Maharaj, in his fifth Test, ended the innings when he had Wagner caught by JP Duminy for 32 to claim five for 94.