South African captain Faf du Plessis hailed Imran Tahir as his team's "biggest weapon" after the leg-spinner took three wickets against Sri Lanka on Sunday, just two days after losing his Cricket South Africa contract.

 

Christiaan Kotze / AFP

Du Plessis hit an unbeaten 112 as South Africa cruised to an eight-wicket victory over Sri Lanka in the opening one-day international in Johannesburg.

The hosts won the toss at the Wanderers Stadium, asked Sri Lanka to bat and bowled them out for 231, a total South Africa overtook with more than 11 overs to spare.

Du Plessis praised veteran Tahir, who turns 40 later this month, for ensuring South Africa chased a modest total by making crucial breakthroughs with figures of three for 26 from ten overs.

"He is probably my biggest weapon as a captain over the years," Du Plessis said of Tahir, who saw his contract for the 2019/2020 season not renewed on Friday.

But the captain added that early strikes by Lungi Ngidi, playing in his first international match since suffering a knee injury in November, had also important.

"Imran bowled brilliantly in the middle overs today but it is really important to get wickets with the new ball," said Du Plessis.

Ngidi took the first two wickets to reduce Sri Lanka to 23 for two.

Tahir showed he remains a key member of the country's one-day bowling attack ahead of the start of this year's World Cup in May with an immaculate performance.

He ended a third-wicket stand of 76 between Kusal Perera (33) and Oshada Fernando (49) when he had the left-handed Perera caught behind off a googly during a first spell of one for 18 in seven overs.

Kusal Mendis, who top-scored with 60, added 94 for the fifth wicket with Dhananjaya de Silva (39) before Tahir dismissed both batsmen in the first two overs of his second spell.

Sri Lankan captain Lasith Malinga rued the failure of his batsmen to capitalise on good starts. 

"We lost wickets at crucial times," he said, pointing out that on both occasions when a promising partnership was broken the other 'in' batsman had been dismissed almost immediately. 

Fernando, making his one-day international debut, was run out one short of a half-century in Tahir's next over after Perera's dismissal.

Reeza Hendricks was caught behind off Vishwa Fernando in the second over of South Africa's innings but Quinton de Kock and Du Plessis both batted aggressively against the new ball.

- Scoring freely -

Du Plessis hit three successive fours off Thisara Perera and had raced to 32 in the eighth over when he was dropped, with Lakshan Sandakan putting down a relatively straightforward chance at short third man.

De Kock and Du Plessis were brief slowed when Sri Lanka's spinners came on but were soon started scoring freely again in a second-wicket partnership of 136 off 129 balls before De Kock was leg before wicket to off-spinner Akila Dananjaya for 81, made off 72 balls with 11 fours.

"Quinny is a big player," said Du Plessis. "He puts bowlers under real pressure."

Du Plessis went on his 11th one-day international century and finished with 112 not out off 114 balls, with 15 fours and a six. 

He and Rassie van der Dussen (32 not out) took South Africa to victory with an unbeaten third-wicket partnership of 82 off 96 balls.

Du Plessis was named man of the match.