Faf du Plessis carried his bat for more than seven hours, hitting an inspirational century on debut to earn South Africa a morale-boosting draw in the second Test against Australia on Monday.
The all-rounder was grit personified on a tense fifth and final day, compiling an unbeaten 110 to steer the Proteas to safety in the stifling heat of the Adelaide Oval.
Australia paceman Peter Siddle and spinner Nathan Lyon captured late wickets to leave South Africa wobbling at 240-8 and the home side in sight of victory.
However, Du Plessis and Morne Morkel survived the nerve-shredding final overs to leave the series tied at 0-0 after the drawn first Test in Brisbane.
The third and final Test starts in Perth on Friday, a quick turnaround for two teams carrying injuries and battling fatigue after five days in Adelaide's baking heat.
Du Plessis anchored two defiant partnerships, the first an 89-run stand with schoolmate AB de Villiers that soaked up 68 overs until after lunch.
The second was a 99-run dig with the injured Kallis, who battled through the pain of his hamstring strain for a second straight innings.
"I just tried to keep my game plan very simple," the 28-year-old Du Plessis told reporters. "Make them bowl at me and just take it an hour by an hour.
"If you looked at it yesterday, it was quite a long way away. AB and Jacques really helped me a lot. I had goose bumps - it's the record for the longest goosebumps ever."
An enthralling battle between Du Plessis and Siddle saw both players slump to the ground in exhaustion before picking themselves up again.
Siddle returned figures of 4-65 after nearly singlehandedly willing Australia to victory with two wickets after tea.
Lyon finished with 3-41 after bowling a heavy load of 50 overs as the Australian attack struggled with a greater workload with paceman James Pattinson ruled out with a rib injury.
"Losing James hurt us," said Australia captain Michael Clarke. "I don't want to take anything away from South Africa because they played really well.
"Faf was outstanding on debut to make a hundred under conditions like that under pressure. We tried everything in our power ... we had a red hot crack.
"It was unfortunate we didn't get over the line. But we didn't lose the test so we can take a lot of positives out of that."
Graeme Smith's South Africa looked dead and buried after slumping to 45-4 shortly after tea on day four but underlined their status as the world's top-ranked Test team with a display of formidable resilience to bat out nearly four sessions for the loss of only four wickets.
Du Plessis and Kallis seemed set to frustrate the hosts again after scoring a big partnership in the first innings and guiding their team past the follow-on, but Lyon struck to have Kallis caught for 38 and give Australia renewed hope.
BOILING POINT
Siddle raised the tension to boiling point by dismissing Dale Steyn for a duck with a full toss that was pushed straight to Rob Quiney in close for the seventh wicket.
Shattered but charging in on pure adrenalin, Siddle bowled Rory Kleinveldt with a yorker to spark a roar from the few thousand spectators remaining, but Morkel proved rock solid at the close and scored a pair of boundaries to defuse the threat in the final over.
Du Plessis was made to wait five nervous overs on 98, but brought up his 100th run with a drive through the covers for two off the bowling of Ben Hilfenhaus.
Siddle earlier bowled AB de Villiers with an off-cutter through the gate to remove the wicketkeeper for 33 and end a fifth-wicket partnership with Du Plessis that started shortly after tea on day four.
Du Plessis enjoyed some fortune, surviving a dropped catch by wicketkeeper Matthew Wade on the second-last ball before tea and a pair of lbw appeals in the morning after video reviews over-ruled umpire Billy Bowden twice.
Photograph: Regi Varghese/Reuters
How Dhoni got a taste of his own medicine
South Africa pacemen rattle Australia in late burst
Australia close in on victory in second Test
'Sachin does not need any advice on his future'
Factbox: Australia v South Africa 2nd Test