Frustrated by the hosts' stubborn resistance as they batted for an unlikely draw, Buttler let rip at tailender Philander after the No 8 got in the way of a throw to the English gloveman.
"F.g move. Just move, f.g knobhead".
South Africa survived three full sessions in this test but couldn't quite make it through to the end of the last one of the match.
That prompted his England team-mate Ben Stokes - who took three late wickets in the space of the 14 deliveries to secure the 189-run victory - to step in as a peacemaker, telling the fired-up Buttler "let's just get him out".
England's victory came through a mixture of patience and invention on a pitch that flattened out significantly for the bowlers and helped South Africa's final-day cause.
South Africa won the first test of the four-match series by 107 runs in Pretoria.
The third Test in Port Elizabeth will start on January 16. De Kock, who made 50, had been troubled by Joe Denly's leg-spinners into rough outside his off stump - but fell to a short ball which he pulled to midwicket. After James Anderson (2-23) had broken his bat, he was trapped leg before wicket by the experienced seamer.
Stokes played an attacking shot off nearly every ball he faced and was undeterred by a let-off on 38 when he top-edged a pull against Kagiso Rabada and wicketkeeper Quinton de Kock ran about 35m but dropped the ball as he dived for it.
The end came quickly after that. Stokes ended it four overs later.
Anderson struck early in the day to remove nightwatchman Keshav Maharaj lbw, and took the new ball immediately before lunch, but did not bowl in the afternoon session, spending much of it off the field.
South Africa, needing an increasingly improbable 438 to win, were 225 for five at tea, with a minimum of 31 overs remaining for England to claim the last five wickets.
England set the stiff target after declaring their second innings on 391 for eight just after lunch, with opener Sibley unbeaten on a patient 133 to go with an explosive 72 from Ben Stokes.