Barbarians (19) 26
Tries: Mitchell 2, O'Connor, Geldenhuys Cons: O'Connor 3
South Africa (3) 20
Tries: Ndungane, Botha, Bandise Con: Jantjies Pen: Jantjies
Australia centre Mitchell crossed twice in the first half
An under-strength South Africa rounded off their northern hemisphere tour with a defeat by an impressive Barbarians side at Twickenham.
Drew Mitchell scored two tries and James O'Connor one as the Baa-Baas stormed into a 19-3 half-time lead.
South Africa hit back through Odwa Ndungane but Quintin Geldenhuys went over in the corner to restore the invitational side's 14-point lead.
Bakkies Botha and Bandise Maku scored late tries for the Springboks.
The defeat provided a low-key end to a mixed tour for the world champions, which featured victories over Ireland, Wales and England but a defeat to Scotland.
They were very big-eyed and disjointed in the first half but we talked at half-time and they pulled it together
South Africa coach Peter De Villiers
The Barbarians included Welsh flanker Martyn Williams as their only British Isles representative in a side featuring six Australians and five New Zealanders.
South Africa retained only three of the line-up that beat England 21-11 last Saturday, bringing in the uncapped trio of centre Andries Strauss, fly-half Elton Jantjies and prop Coenie Oosthuizen.
The Baa-Baas took an early lead when Will Genia fed his fellow Australian Mitchell, who crashed over the line from close range.
The Springboks got on the scoresheet through a Jantjies penalty before O'Connor scored and converted his own try to make it 12-3.
Mitchell then sprinted on to a clever O'Connor through-kick for the Barbarians' third try.
The first 30 minutes was some of the best rugby I've seen in the November Tests
Barbarians coach Nick Mallett
South Africa got back into the game early in the second half when Ndungane intercepted a pass and sprinted through to score beneath the posts.
But, after withstanding a spell of Springbok pressure, the Barbarians extended their lead when Geldenhuys powered home.
With the Baa-Baas tiring, South Africa laid siege to their line and Botha crashed over in the corner with nine minutes remaining.
A similar score from replacement hooker Maku in the dying seconds reduced the deficit to six but it was too little, too late and Jantjies' missed conversion proved to be the last kick of a thoroughly entertaining game.
South Africa coach Peter De Villiers was pleased with the commitment his second-string side produced.
"Today we lost the game but we won a lot in other respects. It wasn't a Test match but it was a test to see how good we really are with our youngsters and our depth.
"They were very big-eyed and disjointed in the first half but we talked at half-time and they pulled it together. Our youngsters did very well."
Barbarians coach Nick Mallett relished the victory over the nation he led between 1997 and 2000.
"It's a strange feeling when you hear the national anthem of the team you've coached but I take my hat off to these guys," said Mallett, who is now the national coach of Italy.
"The first 30 minutes was some of the best rugby I've seen in the November Tests. We cut South Africa to pieces in the first half-hour and left a couple more tries out there.
"We got some great ball in the first half but then South Africa put us under pressure in the second."
Barbarians: O'Connor, Rokocoko, Ashley-Cooper, Nonu, Mitchell, Giteau, Genia, Perugini, Moore, Tialata, van Zyl, Jack, So'oialo, Williams, Bourke.
Replacements: Rabeni for Rokocoko (65), Donald for Nonu (64), Ellis for Genia (49), Mealamu for Moore (41), Yapp for Tialata (64), Geldenhuys for So'oialo (49), Braid for Bourke (22).
South Africa: Lambie, Ndungane, Jacobs, A. Strauss, Mvovo, Jantjies, Hougaard, Oosthuizen, A. Strauss, van der Linde, Botha, Hargreaves, Alberts, Smith, Kankowski.
Replacements: McLeod for A. Strauss (64), Aplon for Jantjies (68), Mtawarira for Oosthuizen (46), Maku for A. Strauss (60), van der Merwe for Hargreaves (41), Daniel for Kankowski (55).
Not Used: Kruger.
Ref: Pascal Gauzere (France).