Morkel - finished with five for 50.
Shahadat Hossain and Mohammad Rafique took two wickets apiece as South Africa made a stuttering start to their reply on the opening day of the first Test against Bangladesh.
Having skittled the hosts out for 192 shortly after tea, the Proteas failed to make the most of their position as they struggled to 76 for four at stumps.
Hossain struck after just four overs to claim the scalp of captain Graeme Smith (10), who hit a thick inside edge onto his stumps.
And Neil McKenzie (5) followed 10 balls later also to Hossain. The opener tried to defend his stumps but was struck on the pads between middle and leg.
Hashim Amla steadied the ship slightly with a knock of 25 from 33 balls, but was then trapped leg before wicket by a deceptive delivery from Rafique.
And Rafique was also responsible for the removal of Jacques Kallis, who could only watch on as the ball crashed into the base of his off stump while on 17.
Ashwell Prince (nine not out) and Johan Botha (5no) are the men charged with the task of rescuing South Africa's innings when the second day's play gets under way.
Earlier in the day, Morne Morkel claimed five wickets as South Africa looked to take a stranglehold on the match.
Morkel took the scalps of Shahriar Nafees, Habibul Bashar, Shakib Al Hasan, Rafique and Mushfiqur Rahim to help restrict the hosts to a modest total.
Aftab Ahmed scored 44 with captain Mohammad Ashraful adding 34 but they were the highlights of what was a largely disappointing innings for Bangladesh.
Ashraful won the toss and elected to bat at the Shere Bangla National Stadium, but the hosts made the worst start possible when Tamim Iqbal was out for a duck off the second ball of the day after he got a thick inside edge onto his pads before the ball ballooned to bowler Dale Steyn who took the catch.
Junaid Siddique (one) followed soon after when the 20-year-old got a thick outside edge off Steyn, which wicketkeeper Mark Boucher pouched to leave Bangladesh on three for two.
Bashar then joined Nafees in the middle and batted his way to 11 before he was caught out by McKenzie at third slip with the hosts 32 for three.
Bangladesh began to make steady progress and things were starting to look positive before they lost another wicket in the 14th over.
Having helped the hosts to 60, Nafees (25) shaped to drive a Morkel's delivery but instead got an outside edge to Smith at first slip.
And shortly before lunch Bangladesh suffered a further blow when Ashraful was dismissed when he hit Botha's delivery straight back to the bowler who took a low catch.
That left Bangladesh on 85 for five at lunch, but Al Hasan and Ahmed put up some stubborn resistance at the start of the second session with a sixth-wicket stand of 60 causing much frustration to the South African bowlers.
It was Botha who eventually broke the partnership with Ahmed caught by Makhaya Ntini at mid-off, and Al Hasan (30) quickly followed with AB De Villers taking an impressive reflex catch at second slip.
Morkel then removed Rafique lbw with his very next delivery as Bangladesh found themselves struggling once more.
Mushfiqur Rahim and Mashrafe Mortaza saw the hosts through to tea but the former was an early victim in the final session falling lbw to Morkel.
Mortaza put on a battling 29 but was bowled by Steyn playing across the line to bring an end to the Bangladesh innings.
Morkel finished with figures of five for 50 with Steyn taking three for 37..