Nel, 30, polished the cream off the Bangla line-up with three quick wickets in his first spell before returning to claim one more to finish with the creditable 4/27 in 10 overs.
The speedster, who was overlooked for a 14-member squad for the three-Test series against India announced last night in Johannesburg, made a statement of intent 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.
Southpaw Shakib (52) and rookie batsman Raqibul (63) resurrected tottering Bangla innings. The duo shared a record 119-run stand for the fifth wicket to help their side post a decent total.
Bangladesh were off to a disastrous start, losing in-form opener Tamim Iqbal to Nel off the third ball of the day and skipper Mohd Ashraful for a duck in the bowler's next over.
The debutant Nazimuddin (11) hit a couple of fours before being trapped plumb in front off Langeveldt while Shahriar Nafees was caught behind off Nel for five to leave Bangla reeling at 16/4 in the seventh over.
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 inclusive of four fours.
Raqib's departure was followed by two quick dismissals, wicketkeeper-batsman Dhiman Ghosh declared run-out in a bizarre fashion and Abdur Razzaq being caught behind off Nel.
Umpire Aleem Dar initially did not referred for the third umpire believing Ghosh had made his ground but after the SA players at the instigation of coach Mickey Arthur - sitting in a dugout near the boundary line - 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 batsman Nazimuddin and seamer Mashrafe Mortaza while South Africa fielded an unchanged squad.
Bangladesh 173 all out in 48.2 overs (Raqibul Hasan 63, Shakib-al-Hasan 52, Mortaza 20; Nel 4 for 27, Langeveldt 3 for 31) Vs South Africa.