James Taylor and Nick Compton took England past 100 on a rain-affected day when the tourists were put into bat and had to battle through a troublesome opening salvo by Steyn.
South Africa's spearhead removed Alastair Cook for a duck and debutant Alex Hales for 10, leaving England 12-2 under overcast skies in Durban. Joe Root was out lbw for 24 off spinner Dane Piedt's first ball of the game to put England under more pressure.
Taylor and Compton, who was recalled for his first test in more than two years, brightened England's prospects with their unbeaten 72-run partnership.
South Africa wins toss and bats 1st in 2nd test vs. England