Hashim Amla scored yet another timely half-century as South Africa reached 145 for 3 in their 2nd innings, leading England by just 139 runs after day three of the third and final Test at the Lord's on Saturday.
Amla was not out on 57, while night-watchman Dale Steyn was on 0 when stumps were drawn. England took three South African wickets in the third session on day three.
South Africa's openers Graeme Smith and Alviro Petersen made a strong start in their second innings, reaching 39 for 0 in 20 overs, after bowling out England for 315.
England batsman Jonny Bairstow missed his maiden Test ton as England were bundle out for 315, taking a paltry six-run lead over the visitors on day three at the Lord's on Saturday.
South African pacer Steven Finn scalped four wickets to stutter England innings.
England were 277 for 8 at lunch.
Bairstow smashed 13 boundaries in his 95-run knock before he tried to whip an excellent full-length delivery from Morne Morkel and was bowled.
Bairstow hit an undefeated 72 on Friday to keep England in content_cnion on 208 for 5 at stumps. The 22-year-old Bairstow, who replaced star batsman Kevin Pietersen, scored his first Test 50 as he moved England to within 101 runs of South Africa at Lord's with a 137-ball innings, including nine fours.
Bairstow shared a fifth-wicket stand of 124 with Ian Bell, who scored 58 with seven boundaries, after the top order had collapsed. Matt Prior was 22 not out at stumps. Bairstow was called up after Pietersen was dropped for sending text messages to South Africa players about his teammates — reportedly criticizing England captain Andrew Strauss and coach Andy Flower.