South Africa captain Faf Du Plessis led by example with a confident 88 as his side cruised to an 87-run win over Sri Lanka in their World Cup warm-up on Friday.
Du Plessis was supported by Hashim Amla in a second-wicket partnership of 128 that swung the game in South Africa's favour.
Needing just 69 balls to demolish the Sri Lanka attack in Cardiff, Du Plessis was the cornerstone of the innings, while Amla's 65 came in just 61 balls.
Rassie van der Dussen (40) and Andile Phehlukwayo (35) also impressed as South Africa reached an imposing total of 338 for seven in their 50 overs.
Sri Lanka's response revolved around captain Dimuth Karunaratne, who hit 87, and 64 in 66 balls from Angelo Mathews, but the South African bowling attack proved as effective as their batsmen.
Phehlukwayo added to his batting exploits by taking four for 36 with the ball as the Sri Lanka challenge ended at 251 all out.
South Africa face West Indies in another warm-up game at Bristol on Sunday before opening the tournament against hosts England on May 30.
Sri Lanka play Australia in their final warm-up game at Southampton on Monday, then begin their World Cup campaign against New Zealand on June 1.