Fast bowler Anrich Nortje took six wickets and opening batsman Dean Elgar batted confidently as South Africa took control on the first day of the second and final Test against Sri Lanka at the Wanderers Stadium in Johannesburg on Sunday.

Nortje claimed career-best figures of 6/56 as Sri Lanka collapsed to 157 after winning the toss and choosing to bat first on the pace-friendly Wanderers pitch. Then the left-handed Elgar scored 92 not out as South Africa reached 148/1 at the close.

With Kusal Perera hitting an aggressive 60, Sri Lanka were on course to reach lunch with minimal damage on a pitch which usually offers assistance to the bowlers on the first morning.

But Perera was caught at gully off the medium-paced Wiaan Mulder 20 minutes from the interval, sparking a calamitous collapse from 71/1 to 84/5 before the break.

The left-handed Perera struck 11 boundaries, punishing anything loose against the fast bowlers but the medium-paced Mulder slowed his momentum with a maiden over. With the first ball of his next over, Mulder had Perera caught at gully. He followed up with the wickets of Kusal Mendis and Lahiru Thirimanne in a spell of three wickets for one run in three overs.

The tall Nortje had debutant Minod Bhanuka caught at first slip off the last ball before lunch. Four wickets fell for 13 runs in four overs before the interval. Nortje, who had made the first breakthrough of the match when he had Sri Lankan captain Dimuth Karunaratne caught behind in the tenth over, claimed four more wickets after lunch.

Nine of the Sri Lankans were caught in the arc between wicketkeeper and gully before last man Ajitha Fernando was bowled by Nortje, backing away from a full ball after a series of short-pitched deliveries. Several of the batsmen contributed to their own downfall with loose strokes outside off stump.

Ajitha Fernando, making his debut, bowled impressively at the start of the South African innings, bustling in at a lively pace. He had Aiden Markram caught at second slip in an opening spell of one for 14 in seven overs.

But Elgar batted fluently and had solid support from Rassie van der Dussen in an unbroken second wicket stand of 114 which took South Africa to within nine runs of the Sri Lankan total.

Sri Lanka, hit hard by injuries, made four changes from the side beaten by an innings and 45 runs in the first Test at Centurion.

Batsmen Dhananjaya de Silva and Dinesh Chandimal and fast bowlers Kasun Rajitha and Lahiru Kumara were all ruled out of action. They were replaced by Thirimanne, Bhanuka, Dushmantha Chameera and Asitha Fernando. Sri Lanka were again without leading fast bowler Suranga Lakmal, who had not recovered from a hamstring injury.

South Africa were unchanged.