The seamer removed both England openers during a dramatic spell of two wickets for one run in 10 balls.
At stumps England were 16 for two, needing a further 330 runs in a minimum of 90 overs on Monday's final day to reach what would be a new record victory total of 346.
The most England have ever made in the fourth innings to win a Test is the 332 for seven they posted against Australia at Melbourne back in 1928/29.
Jonathan Trott was six not out and Ian Bell four not out at the close.
The Proteas, 1-0 up in three-match series, will replace England as the world's number one Test side if they avoid defeat on Monday.
Hashim Amla, whose 121 was the cornerstone of South Africa's second innings 351, said England faced a tough task.
'Defying people's beliefs'
"We're 1-0 up, England have to make the play," Amla said. "The wicket itself is good to bat but in the last innings there is thing called pressure."
But England fast bowler Steven Finn, who finished with innings figures of four for 74 for a match haul of eight for 149 on his Middlesex home ground, insisted his side could upset the odds.
"As a team we've enjoyed breaking records and defying people's beliefs about us. We really do believe in the dressing room we can win this game."
Finn added: "The two guys who are in have performed fantastically well for England. I think it's a very good pitch. When the ball is old and the sun is out, the wicket is a very good one to bat on and people can make themselves difficult to get out."
Philander, with just his second ball on Sunday, had Alastair Cook lbw for three.
And he then dismissed Cook's fellow left-hander Andrew Strauss when the England captain, playing his 100th Test and on his Lord's home ground, shouldered arms to an inswinger and was plumb lbw for one.
England, without Kevin Pietersen after they dropped the star batsman for this match despite his 149 in the drawn second Test at Headingley because of text messages he'd sent to South African players allegedly containing criticisms of Strauss, were six for two at that stage.
Amla, whose South African record 311 not out at The Oval propelled the tourists to victory in the first Test, resumed on 57 not out and didn't score a boundary in Sunday's morning session as he advanced to 94.
But after the interval Amla, who on Saturday survived a tough chance on two when wicket-keeper Matt Prior dropped him down the legside, late cut medium-pacer Trott for the ninth boundary of his innings to complete his 16th Test century and fourth against England off 182 balls.
"The game was in a delicate position," Amla said of his innings. "Fortunately, myself and Dale Steyn managed to hang for 50 minutes or so.
"What he did set up the rest of the day for us. Vernon and Morne [Morkel] then showed a lot of guts."
The elegant Amla fell when Finn, with the new ball, bowled him with a fine delivery that went up the slope.
Amla's innings lasted just short of five hours and Finn then made it two wickets for five runs in 12 balls when he had AB de Villiers caught by Strauss at first slip for 43.
That dismissal saw Strauss break the England record for most Test catches by an outfielder of 120 he'd previously shared with Colin Cowdrey and Ian Botham.
But South Africa's tail wagged with Philander, having a fine all-round match, making 35 to add to his Test-best 61 in the first innings.
"Vernon's a fantastic cricketer," said Amla. "He's always been in the wickets at the start of his career and the way he contributed with the bat [in this match], he comes to the party at big moments." – Sapa-AFP