Kagiso Rabada ripped through the Bangladesh batting for his second five-wicket haul of the series

Chittagong (Bangladesh) (AFP) - Bangladesh were all out for 159 Thursday in their first innings of the second Test and will have to bat again 416 runs behind after South Africa enforced the follow-on in Chattogram.

Fast bowler Kagiso Rabada finished with 5-37 for South Africa, who made 575-6 declared in their first innings and lead the two-match series 1-0.

The hosts were reduced to 48-8 on day three in their reply before a mini-fightback.

Mominul Haque led the belated resistance with a gritty 82, including a 103-run stand for the ninth wicket alongside Taijul Islam, who made 30.

Number four Mominul fell to Senuran Muthusamy, who bowled him with a delivery tossed up outside off stump that turned sharply towards his leg, confirmed on review.

Mominul hit eight fours and two sixes from 112 balls.

Keshav Maharaj caught and bowled Taijul to bring the innings to an end.

Bangladesh resumed at 38-4 but Rabada struck in the fourth over with a cracking delivery that captain Najmul Hossain Shanto, on nine, could only edge to wicketkeeper Kyle Verreynne.

Mushfiqur Rahim went without scoring when Dane Paterson induced him to pop up a simple catch to Tony de Zorzi at short leg to leave Bangladesh 47-6.

That soon became 48-8 when Rabada struck twice in one over as Mehidy Hasan Miraz was caught behind and debutant Mahidul Islam Ankon offered no shot to a ball nipping back and was trapped lbw for a duck.

The burst gave Rabada his second five-wicket haul of the series, to go with his 6-46 in the first Test victory in Mirpur.

South Africa had three batsmen hit maiden Test centuries in their first-innings 575 – De Zorzi (177), Tristan Stubbs (106) and Wiaan Mulder (105 not out).

South Africa are looking to sweep the two-match series after winning the first Test by seven wickets.

Bangladesh have never won a Test against South Africa in 15 attempts.