Left-arm orthodox spinner Keshav Maharaj claimed the best test innings figures by a South African bowler since the country's readmission to international cricket in the second match against Sri Lanka at Sinhalese Sports Club grounds on Saturday.

Maharaj finished with nine for 129 from 41.1 overs as Sri Lanka posted 338 runs in its first innings.

The 28-year-old, who claimed eight wickets on the first day's play, dismissed Sri Lanka's last man Rangana Herath on day two to establish the new record.

The previous best bowling analysis by a South African since the country's return to test cricket in 1992 was Lance Klusener's eight for 64 against India in Calcutta in 1996.

In South Africa's complete cricket history, Maharaj's figures are behind only Hugh Tayfield's nine for 113 against England in Johannesburg more than 60 years ago.