South African off-spinner Simon Harmer took all the wickets in his first Test appearance for seven years as Bangladesh reached 98 for four at the close of play on a gloomy second day of the first Test at Kingsmead on Friday.

The tourist is 269 runs behind South Africa’s first innings total of 367 in which Temba Bavuma fell seven runs short of a century, with the depleted home side, which is without its entire first-choice pace attack, taking control of the game with spin.

Opener Mahmudul Hasan Joy (44 not out) will resume on the third morning with nightwatchman Taskin Ahmed (0 not out), but the visitor was undone by some controlled slow bowling from Harmer (4-42) and Keshav Maharaj (0-24), who strangled the run rate as they conceded only 66 runs in 39 overs between them.

The pick of Harmer’s wickets was that of Najmul Hossain Shanto (38) as the ball pitched on middle stump and turned to hit the top of off. Keegan Petersen also took an excellent diving catch at short leg to dismiss visiting captain Mominul Haque for a duck.

READ | IPL 2022: Focus on all-rounders as Gujarat takes on Delhi

Harmer had played the last of his five Tests in 2015 before embarking on a career in English county cricket but has been recalled with a number of South Africa’s bowlers missing at the Indian Premier League.

The home side resumed its first innings on 233 for four, anchored by middle-order batsman Bavuma, who scored 93 in a workmanlike innings as he missed out on a second Test ton in his 50th appearance.

ALSO READ | ECB announces funding for young cricketers from diverse backgrounds

Bavuma has averaged almost 50 in Tests in the last 18 months and been a mainstay of the middle-order, but three figures continues to elude him, with his only Test ton in eight years with the side coming against England in Cape Town in 2016.

On this occasion he was bowled trying to cut spinner Mehidy Hasan Miraz (3-94) but was undone by the sharp turn.

South Africa’s tail wagged as it put on 122 for the final four wickets, helped by 38 not out from Harmer, while Bangladesh seamer Khaled Ahmed (4-92) was the most impressive of the visitor's bowlers.