South Africa’s batsmen had reached 39 for 0 in their second innings at the end of the day four, with Jacques Rudolph 21 not out and Graeme Smith unbeaten on 17.
The tourists lead by 33 runs at the notional tea interval but with only one day to go, neither side is likely to have enough time to force a result.
Earlier, England were all out for 425. Matt Prior hit 68 after Kevin Pietersen was out to the second ball of the morning without adding to his overnight score of 149.
Morne Morkel (96 for 2) trapped Pietersen lbw to end an innings of 214 balls, with a six and 22 fours.
Imran Tahir had South Africa’s best figures with 92 for 3.
After scoring 419 in its first innings, South Africa was hindered by three injuries.
With Alviro Petersen already sidelined with a hamstring problem, the tourists also took the field without Jacques Kallis because of back spasms and with captain Smith hobbling due to a knee injury.
Pietersen, so impressive on Saturday, never had the chance to reach his 150. After blocking Morkel’s first delivery he was powerless to stop the second, an inswinger that thundered into his pads.
Prior, who was 20 overnight, scored rapidly and reached his 50 from 66 balls with a single off Tahir.
Tim Bresnan supported Prior well, lasting 50 balls before he edged Vernon Philander to Smith at first slip for 9 after an hour.
By contrast, Stuart Broad’s innings lasted just eight balls before he played a poor shot to Tahir and was caught by sub Faf du Plessis for 1.
Prior survived an lbw referral from Tahir, from a ball that pitched outside leg, before England took the lead when Anderson steered Morkel to third man for four.
However, Prior was out in the next over when he tried to sweep Tahir and was caught by Steyn on the long leg boundary and Tahir then bowled Anderson to end the innings.
Petersen can bat later in South Africa’s second innings if needed but, as he was unable to field, Rudolph opened with Smith and the pair had to survive a torrid 11-minute spell before lunch.
Anderson hit Smith high on the pads in the third over and unsuccessfully referred umpire Rod Tucker’s not out call. Anderson’s next delivery fizzed past Smith’s bat and only one more ball was possible before torrential rain swept across Headingley.
Play resumed after a 73-minute delay but aside from a couple of edges that fell short of the slip cordon neither batsman looked in serious trouble.
After exactly an hour the rain returned, followed by thunder and lightning. With huge puddles gathering on the outfield, the further play on Sunday was called off.