The home team was 29 for no wicket in reply at close of a day interrupted by rain and bad light, with captain Graeme Smith on 12 and Ashwell Prince on 15.
England, after winning the toss and choosing to bat, were rocked by three wickets from Morkel in his first five overs as they crashed to 39 for four.
Paul Collingwood and Ian Bell lifted the visitors to 100 for four at lunch but there was more misery in the second session as Steyn (5-51) sparked a collapse which saw six more wickets fall for 80 runs.
Collingwood and Bell shared a stand of 76 before debutant Ryan McLaren had the former caught at point off a leading edge for 47.
Bell was then bowled for 35 by a good ball from Steyn that came back through the gate.
Graeme Swann offered some resistance with a run-a-ball 27 although he was dropped twice before finally being caught behind off Steyn.
England lost as many wickets through errant strokeplay as through any menace from the pitch after skipper Andrew Strauss was brilliantly caught off Steyn by a diving Hashim Amla at short leg to the first delivery of the Test.
It was the first time an Englishman was dismissed by the first ball of a Test since Stan Worthington was caught behind off Australia's Ernie McCormick in Brisbane in 1936.
Steyn claimed his 12th five-wicket haul in 36 Tests while Morkel trapped Alastair Cook (21) and Jonathan Trott (5) leg before and had the dangerous Kevin Pietersen caught at mid-on for seven after he dragged a pull into the air from outside off stump.
England lead the series 1-0.
Scorecard
England (1st innings):
A. Strauss c Amla b Steyn 0
A. Cook lbw b Morkel 21
J. Trott lbw b Morkel 5
K. Pietersen c Parnell b Morkel 7
P. Collingwood c Duminy b McLaren 47
I. Bell b Steyn 35
M. Prior c Boucher b Steyn 14
S. Broad c Morkel b Kallis 13
G. Swann c Boucher b Steyn 27
R. Sidebottom c Boucher b Steyn 0
J. Anderson not out 6
Extras: (lb-2, w-3) 5
Total: (all out; 47.5 overs) 180
Fall of wickets: 1-0, 2-7, 3-32, 4-39, 5-115, 6-133, 7-136, 8-148, 9-155.
Bowling: Steyn 13.5-1-51-5 (w-1), Morkel 11-1-39-3 (w-2), McLaren 10-3-30-1, Parnell 3-0-18-0, Kallis 10-3-40-1.
South Africa (1st innings):
G. Smith not out 12
A. Prince not out 15
Extras: (lb-1, nb-1) 2
Total: (no wicket, 12 overs) 29
To bat: H. Amla, J. Kallis, A. de Villiers, JP. Duminy, M. Boucher, R. McLaren, M. Morkel, D. Steyn, W. Parnell.
Bowling: Anderson 6-2-14-0 (nb-1), Sidebottom 6-2-14-0.
Dale Steyn cleared of doping offence
England call up Carberry as cover for Collingwood
Bowlers Parnell, Tahir added to South Africa squad
Tendulkar stays 13th in Test rankings
Dale Steyn failed drug test during IPL II