Sri Lanka completed a 2-0 Test sweep of South Africa on Monday to record its first series win over the Proteas since 2006 after an emphatic 199-run victory in the second Test.

Rangana Herath claimed six wickets with his left-arm spin to help bowl out the visitor, which was chasing 490 for victory, for 290 in the second session of day four in Colombo.

It was also South Africa's first Test whitewash since it went down in the island nation 2-0 in a two-match series almost 12 years ago.

Theunis de Bruyn and Temba Bavuma kept the spinners at bay for most of the first session after the visitor started the day on 139 for five.

De Bruyn was especially impressive, sweeping judiciously and defending doggedly on a tough surface, while Bavuma was also adept at picking gaps on the leg side and rotating the strike.

Bavuma made 63 but his resistance ended just after he was caught behind off left arm spinner Herath, who also had wicketkeeper-batsman Quinton de Kock lbw for eight on the stroke of lunch.

After lunch de Bruyn recorded his maiden century -- South Africa's only one of the series -- but was bowled by Herath for 101.

In its first innings, Sri Lanka scored 338 and South Africa could only respond with 124 as Akila Dananjaya took five wickets.

The host then scored 275 for five before declaring.

Sri Lanka had wrapped up the first Test in Galle within three days, reducing South Africa to 73 in the second innings - its lowest Test total since readmission to international cricket.