Marco Jansen completed a six-wicket haul as South Africa strengthened their grip on the first Test against Pakistan, moving within 121 runs of victory by the end of day three.

Following a rain delay that wiped out the morning session at Centurion, Pakistan resumed at 88-3 and made a promising start, with Babar Azam and Saud Shakeel putting on a fourth-wicket stand of 79.

Babar brought up his first Test half-century in two years, only to be caught by debutant Corbin Bosch – who hit an unbeaten 81 in South Africa's first innings – off Jansen's delivery just five balls later.

The wickets then started to fall with regularity, with Jansen also taking the next two to bring up his second-innings five-for and drop Pakistan to 176-6.

He later trapped Shakeel (84) lbw for his sixth wicket, with Kagiso Rabada (2-68) and Bosch (1-54) also getting in on the act as Pakistan were bowled out for 237.

Chasing 148 for victory, South Africa made a shaky start, losing Tony de Zorzi (2), Ryan Rickelton (0) and Tristan Stubbs (1) lbw within the first eight overs. However, Aiden Markram steadied the ship with the Proteas reaching 27-3 by stumps, with Temba Bavuma joining him at the crease.

Data Debrief: Six up for Jansen

Jansen was the star on day three, finishing with figures of 6-52 and removing both of Pakistan's top scorers in Masood and Shakeel.

Those figures are his second-best in any Test innings, after going 13-7 versus Sri Lanka in Durban last month.