Centurion - South Africa were in a commanding position at 90 for one at stumps on the first day of the opening Test against Sri Lanka at Supersport Park on Thursday.
Scorecard after Day 1
Video highlights: SA v Sri Lanka, 1st Test Day 1
Vernon Philander continued his remarkable start to Test cricket, taking his third successive five-wicket haul.
He is the first South African to achieve this feat, playing in his first three Test matches.
The visitors were dismissed for 180 runs before tea while South Africa reduced the deficit to 90 runs in the last session of the day.
“I just try and keep things as simple as possible,” said Philander.
“There was a bit of assistance out there today, which I tried to exploit.” Philander's first scalp was that of Kumar Sangakkara (1), who edged the ball towards Jacques Kallis at second slip.
The 26 year-old seamer, who made his debut against Australia last month, then broke the half-century partnership between Tharanga Paranavitana and Mahela Jayawardene.
He bowled a gem of a ball which straightened and went through the gap to split the middle and off stumps as Paranavitana was dismissed for 32.
Thilan Samaraweera (36) and Kaushal Silva (0) were later dismissed off successive balls from Philander, both caught behind by wicketkeeper Mark Boucher and ended all hope for a Sri Lankan recovery.
Angelo Mathews completed Philander’s five for 53.
Mathews (38) had top-scored for the visitors sharing a 65-run stand with veteran Samaraweera.
Steyn had made the initial breakthrough, removing Tillakaratne Dilshan (6), caught by Philander, as the visiting captain played a reckless, slog shot to mid-wicket.
Steyn also grabbed the wicket of Mahela Jayewardene (30) and snuffed out the tail, finishing with figures of 4-18, as the Proteas made the most of the bowler-friendly pitch.
Philander said the wicket was bowler-friendly but it did not alter his approach to his bowling.
“The key for me is to bowl as if I am bowling on a flat wicket. The assistance is there anyway, so why look for anything else,” he said.
“It was very slow this morning but it quickened up this afternoon which is where the big collapse came in.”
In the last session, Jacques Rudolph and Graeme Smith (61) shared an 88-run opening stand before the skipper was out lbw to Dihara Fernando.
Rudolph, unbeaten on 27, took 21 balls to get off the mark after he had dislocated his little finger on his left hand while fielding earlier in the day.
Dale Steyn came in as the nightwatchman, but he is still to get off the mark.