Imran Tahir and Wayne Parnell took three wickets apiece as South Africa hammered Sri Lanka by eight wickets in the opening game of the five-match one-day-international series in Port Elizabeth.
The tourists came into the game buoyed by a Twenty20 series victory over the Proteas, but they were brought back down to earth after being bowled out for only 181 at St George's Park on Saturday.
Only Kusal Mendis (62) made a notable contribution after AB de Villiers - playing his first ODI since last June - won the toss and put Sri Lanka in on a slow pitch in windy conditions.
Tahir removed Mendis, Dinesh Chandimal and stand-in captain Upul Tharanga in a brilliant display of leg-spin bowling, while Parnell (3-48) and the fit-again Chris Morris (2-29) also recorded impressive figures.
Hashim Amla (57) and Faf du Plessis (55 not out) made half centuries as South Africa coasted to victory with just shy of 16 overs to spare.
It was left-arm quick Parnell who did the early damage, trapping Niroshan Dickwella (1) leg before with his first ball and also seeing the back of debutant Sandun Weerakkody (5) with a lively early burst.
The classy Mendis got the scoreboard ticking with some elegant drives and timed the ball beautifully, while Chandimal (22) was content to be more patient at the other end.
But Tahir - who did not concede a single boundary - applied the pressure and was rewarded when he ripped through the middle order, ending a 72-run stand for the third wicket by bowling Chandimal through the gate.
Mendis successfully reviewed when Richard Kettleborough gave him out lbw to Tahir on 48, but fell in the same fashion before Tharanga went cheaply and Dhananjaya de Silva (28) failed to build on a start as the tourists folded from 86-2.
Quinton de Kock (34) and Amla put the Proteas well on their way to victory with an opening stand of 71, which was ended when the wicketkeeper-batsman drove Lakshan Sandakan to Weerakkody in the covers.
Amla struck late call-up Jeffrey Vandersay for a six over mid-on and two boundaries in an expensive 13th over, but was caught and bowled by Asela Gunaratne (1-19) with South Africa just 55 runs short of their target.
Test captain Du Plessis picked out the gaps and punished loose deliveries, while ODI skipper De Villiers (30no) maintained his outstanding form since returning from injury as South Africa won at a canter.