Spinner Paul Adams exploited some substandard Bangladesh batting on Thursday to take five wickets on his comeback and put South Africa firmly in control of the first Test.
Adams, once described as having a "frog in a blender" bowling action and who had not played a Test for a year, took three wickets for one run in an 11-ball spell either side of tea as the home team collapsed from 97 for one to 173 all out.
South Africa, in reply, closed on 84 for two, with Herschelle Gibbs (17) and skipper Graeme Smith (16) the men out.
Adams, who claimed his second five-wicket haul in 37 Tests, struck just before lunch when Akram Khan was caught at silly point for 13. All-rounder Alok Kapali followed for a duck, getting a bottom edge as he cut at a long hop.
Mohammad Ashraful then departed for 12 first ball after the resumption, pulling an Adams delivery straight to Boeta Dippenaar at short midwicket.
Left-armer Adams, who looks at his boots rather than the batsman as he releases the ball, completed figures of five for 37 off 12.3 overs by bowling Enamul Haque and having last man Mashrafe Mortaza stumped.
The 26-year-old Adams said: "I bowled a little quicker, tried to rush the Bangladesh batsmen and that paid off.
"The wicket should turn more as the match progresses and also get a bit up and down. Hopefully I'll manage another five in the second innings.
"It's great to be back in the side, especially after being out due to injury."
Bangladesh, yet to win a Test since making their debut three years ago, had begun well, reaching lunch on 78 for one after winning the toss.
Fast-medium bowler Alan Dawson, on his debut, then took two wickets in a 10-ball spell for a single run to instigate the collapse.
Javed Omar fell lbw for 28 on a slow, docile track after putting on 83 for the second wicket with the dependable Habibul Bashar.
Three runs later it was 100 for three when Bashar fell to Dawson for a well-crafted 60 off 87 deliveries. It was his 10th half-century in his 18th Test and included 10 fours.
Bashar aimed a loose drive at an awayswinger and was caught by Gibbs at cover.
South Africa, captained for the first time by Smith in a test series, are ranked as the world's top test side, just ahead of Australia.
They are fielding a hugely inexperienced side, however, following a clear-out of players after the World Cup, with Dawson, Charl Willoughby and Jacques Rudolph making their debuts. Smith was leading the side after playing just eight Tests.