Man-of-the-match Faf du Plessis occupied the crease for almost eight hours in a feat of physical and mental endurance to ensure the Proteas avoided defeat and take the three-Test series to a decider starting in Perth on Friday.
Australia must win the series to take the world number one ranking from South Africa.
In a gripping finish, lion-hearted fast bowler Peter Siddle had Dale Steyn caught at mid-wicket for a duck and then bowled Rory Kleinveldt (3) with a yorker deep inside the final hour of play.
Siddle gave everything in the final over of the Test in search of the last two wickets but Morne Morkel held on.
It was the second time the South Africans had batted out for a draw in the series after denying Australia's unlikely victory push in the Brisbane opener earlier this month.
At stumps Du Plessis, who needed physio treatment for cramps late in the day, was unconquered on 110 with Morkel not out eight in South Africa's 248 for eight.
Du Plessis, who scored 78 in the first innings, reached his dogged century in his maiden Test with a cover drive for two off Ben Hilfenhaus in the hour after tea.
He was at the crease for 464 minutes and faced 376 balls in his draining knock. He survived two reviews after being given out by umpire Billy Bowden and was dropped by wicketkeeper Matthew Wade on 94.
Du Plessis had his life on the penultimate ball before tea when Wade failed to hold a tough chance while standing up to the stumps to paceman Hilfenhaus.
He was also given out on 33 when he padded up and did not offer a shot to Michael Clarke's spin. But he stayed put after a review found the ball had pitched just outside the line.
Du Plessis was given out again by umpire Bowden after an lbw appeal by Clarke on 37, but another review showed there was no contact with the pad and the debutant batted on.
The allrounder's joy at reaching his milestone was tempered by the loss of the injury-restricted Kallis five balls later.
Kallis was caught off bat and pad at short leg by Ed Cowan off Nathan Lyon for 46 to end a gritty 99-run stand in 149 minutes with du Plessis.
The champion allrounder had been dropped by Lyon in a leaping caught and bowled chance on six. He played an invaluable knock even though restricted in his mobility by a hamstring injury.
The Proteas lost the wicket of AB de Villiers shortly after lunch when he was bowled by Peter Siddle for 33 with one that nipped back to clip off-stump.
Wicketkeeper de Villiers faced 220 balls in his stoic boundary-less knock in a study of concentration, putting on 89 runs for the fifth wicket with du Plessis in 68 overs.
The Proteas gave no thought to chasing down a huge and unlikely victory target of 430, scoring just 135 runs on the final day off 67 overs up to tea.
The most successful fourth-innings run chase at the Adelaide Oval stands at the 315-6 Australia scored 110 years ago to overhaul England. The record overall winning chase is 418 by the West Indies against Australia in 2003.