Paceman Andre Nel picked 4-27 as South Africa restricted Bangladesh to a modest 173 in the second one-day international here on Wednesday.
Nel, 30, bowled a fiery opening spell to polish the cream off the Bangladesh top order with three quick wickets before returning to claim one more at the fag end of the innings.
The speedster, who was overlooked for a 14-member squad for the three-Test series against India announced last night in Johannesburg, proved a point with his aggressive fast bowling.
Nel's new ball partner Charl Langeveldt chipped in with 3-31 as Bangladesh folded up in 48.2 overs after electing to bat at the Sher-e-Bangla stadium.
The hosts, tottering at 18-4 in the seventh over, owed their total to a record 119-run stand between debutant Raqib Hasan who topscored with 63 and Shakib Al Hasan (52).
It was the best ever stand for the fifth wicket for Bangladesh against any opponent, surpassing the 116 that Shakib put on with Ashraful against Canada last year.
Bangladesh were off to a disastrous start, losing in-form opener Tamim Iqbal to Nel off the third ball of the day and captain Mohammad Ashraful for a duck in the bowler's next over.
Nazimuddin (11), the sixth player to make his debut in the series so far, hit a couple of fours before being trapped plumb in front off Langeveldt while Shahriar Nafees was caught behind off Nel for five.
Shakib and Raqib then pulled the team out from the pits with their patient stand that came off 184 balls.
Raqib, playing only his second international, brought up his maiden half-century with a single off left-arm spinner Paul Harris before holing out to Graeme Smith off Langeveldt.
His 63-run knock came off 105 balls and contained four fours.
Raqib's departure was followed by two quick dismissals, Dhiman Ghosh declared run out amid confusion and Abdur Razzaq being caught behind off Nel.
Umpire Aleem Dar initially did not call for TV umpire believing Ghosh had made his ground but after South Africa coach Mickey Arthur, sitting in a dugout near the boundary line, intervened, the third umpire's verdict was sought.
Shakib's 96-ball stay at the wicket came to an end when he was caught by Herschelle Gibbs off Johan Botha.
Bangladesh made two changes from the side that lost the opener in Chittagong by nine wickets, bringing in Nazimuddin and Mashrafe Mortaza while South Africa retained the same squad.
The third and final one-dayer will be played here on Friday.