The five-pronged pace attack was led by Andrew Hall (3-48) who was ably supported by Charl Langeveldt (2-48) after Graeme Smith won the toss and decided to give his bowlers a runout before their clash against group rivals Australia on March 24.
Dougie Brown, who top-scored with 45 not out, and John Blain (23) gave the total some respectability with a 50-run stand for the seventh wicket. Brown hit three boundaries during his 64-ball knock.
Stand-in Scotland captain Ryan Watson made 31.
Watson, replacing regular captain Craig Wright who had gone home to attend a family funeral, hit four boundaries during his 50-ball knock.
Openers Fraser Watson (24) and Majid Haq (13) gave Scotland a confident start of 31 before both were removed in the space of five overs.
Hall struck twice to remove Haq and Gavin Hamilton (four) to stop Scotland's progress, while Langeveldt removed Watts.
Watson was run out after he failed to beat a direct hit by AB de Villiers from point.
Australia and the Netherlands are the other teams in the group from where the top two teams will qualify for the Super Eight.
Scotland, who had never played South Africa in a one-day international, batted with resolve against the world top ranked team and, to their credit, saw out their full quota of overs.
Paceman Makhaya Ntini, who replaced fellow paceman Andre Nel as the only change from South Africa's 221-run win over the Netherlands in their first match, failed to get a wicket in his nine overs before leaving the field with cramps.
Ntini missed the first match after joining the team late due to the birth of his daughter back home.
The two sides observed a minute's silence in memory of the late Pakistan coach Bob Woolmer before the start of the match.
They also wore black arm bands to mourn Woolmer's death of Sunday.
Scotland 186 for 8 in 50 overs (Dougie Brown 45 n o, Ryan Watson 31, John Blain 23, F Watson 24; Hall 3 for 48, Langeveldt 2 for 48, Pollock 1 for 25) Vs South Africa (yet to bat).