Proteas were restricted to 146 from their 20 overs after losing the toss and being put in first.
Alvaro Peterson top scored with the bat, knocking 32 runs from 19 balls after coming in at number seven.
He was assisted by Farhaan Behardien, who chipped in with 31 from 27 to boost South Africa's below-par total.
He was eventually caught by Wayne Parnell off the bowling of Peterson, but is now the leading run-scorer and wicket-taker of the World Cup.
It was Cameron White (21) who smashed the winning runs, launching a huge six over the ropes to dump South Africa out of the competition.
Michael Hussey also ended unbeaten on 45.