Fast bowler Dale Steyn has helped steer South Africa to victory by 61 runs in the first one-day international against Bangladesh in the republic.
South Africa posted 283 for eight and Bangladesh's reply finished with a total of 222 in the 45th over.
An exciting contest looked on the cards as the tourists reached 169 for four after 34 overs but Steyn changed all that with two wickets in two balls.
Steyn gave notice he is back to his best after illness with final figures of four for 16 in eight overs.
The host's top five batsmen all played themselves in but only Jacques Kallis reached a half-century, in 72 balls.