Graeme Smith's team notched up an historic win in Melbourne
South Africa won a first Test series in Australia with a nine-wicket triumph at the MCG, becoming the first team in 16 years to beat the Aussies on home soil.
Resuming on 30-0 in search of 183, they needed 42 more overs, Graeme Smith firing 10 fours in a commanding 75.
Neil McKenzie made an unbeaten 59 and Hashim Amla (30) hit the winning runs.
South Africa can inflict a first home whitewash on Australia and move top of the world rankings by winning the final Test in Sydney, starting on Saturday.
Australian cricket's iconic Melbourne ground was full of empty seats on the final day of the second Test, but there was a sprinkling of South Africans in attendance to see their team take an unassailable 2-0 lead in the series 15 overs into the afternoon session.
Inspirational skipper Smith, who became South Africa's youngest captain at the age of 22 in 2003, looked set to be there at the finish, but after recording his 24th Test fifty he succumbed to a quicker ball from spinner Nathan Hauritz.
There was a hint of rain in the air when play resumed after lunch, with the Proteas requiring just 51 further runs for victory, but it did not materialise.
McKenzie had struggled for form earlier in the series with 12 runs in three previous innings and was bowled off a no-ball when on just two by Brett Lee late on day four.But he stepped down the pitch to launch Hauritz back over his head for six, and having survived some confident lbw appeals from Lee and Mitchell Johnson, he recorded his 16th Test fifty.
There was a stroke of good fortune about the boundary off Johnson that did it, however, Matthew Hayden fumbling a difficult low chance to his right at first slip.
By that stage only 31 were needed in any case, and less than 10 overs later it was all over, Amla clipping slow left-armer Michael Clarke through mid-wicket for two.
An emotional Smith praised his team's collective effort, but gave special mention to JP Duminy, who scored a magnificent 166 in the first innings to put South Africa into a commanding position on the third day.
"Everyone has contributed and made it count," he enthused. "Who could have said we would have batted so well at eight, nine and ten the other day, and JP's knock was an incredible achievement for such a young guy to be so composed and play the way he has.
"The belief though the team is really flowing.
"It's important to say Australia are still a quality unit and it's a real honour for us to come here and beat them. To be 2-0 up after two games is something we only dreamt of."
Fast bowler Dale Steyn, who took 10 wickets in the game and scored 76 in the first innings, was named Man of the Match.
The 25-year-old has taken 74 Test wickets this year said: "It's happened so quickly, the team has done fantastically, led by a fantastic captain."
Stalwart wicketkeeper Mark Boucher said: "We have had a lot of heartbreak in this part of the world and to even think about winning a series in Australia was always going to be tough but I believe this team will go from strength to strength now."
All-rounder Jacques Kallis was delighted to finally win in Australia on his fourth tour. "It's an unbelievable feeling," he said. "We knew to beat Australia here you need a bit of luck to go your way and play the big moments well.
"For the senior players we realised how tough a task it was and this rates with winning a World Cup, if not better. South African cricket is healthy and hopefully we can keep the side together and stay on top for a while."
The baggy greens had not lost at home since 1992-93, when they were defeated by the West Indies.
They had seemed in a commanding position during the opening match of the current series, in Perth, before a remarkable fight-back by South Africa saw the visitors chase down an unlikely second-inning target of 414.
Smith's side came from behind equally strongly at the MCG, where they ended the second day at 198-7 - nearly 200 runs behind their hosts.
But a ninth-wicket partnership of 180 between Duminy and Steyn helped turn the game around, and Steyn's five-wicket haul in the second innings reduced Australia to 247, leaving the tourists a modest victory target.