Bracewell, playing in his first one-day international in more than two years, took a career-best three for 31 with his accurate medium-pacers as the South African batsmen failed to come to terms with a slow pitch.
Farhaan Behardien top-scored for South Africa with a career-best 70.
Fast bowler Adam Milne struck twice in his first two overs, dismissing Hashim Amla and Morne van Wyk to put South Africa on the back foot. The hosts, who won the first match by 20 runs in Centurion, never recovered fully.
South Africa slumped to 107 for five in the 24th over when captain AB de Villiers also fell to a mistimed shot, chipping Elliott to short midwicket after making 31.
Behardien and Vernon Philander put on 54 for the seventh wicket before the innings subsided, with the last three batsmen run out.