Jansen, who towers above most of his teammates at 2.03 metres, made the most of the steep bounce on offer at the Wanderers, troubling most of the batsmen with his pace and bounce.
When he dismissed Rahul, Jansen had the remarkable figures of two for nine in 9.5 overs. His figures were spoilt slightly by Ashwin, who, almost alone of the Indian batsmen, decided attack was the best form of defence. But he played one shot too many to be Jansen's fourth victim.
Jansen and his twin brother Duan, who also went on to play first-class cricket, bowled to the Indians on their 2017/18 tour and attracted the attention of Kohli.
Jansen made his Indian Premier League debut for the Mumbai Indians last year before gaining his first Test cap at Centurion.
Duanne Olivier, returning to the South African team after spending three years as a Kolpak player with English county Yorkshire, took three for 64, the same figures as Kagiso Rabada.
Jansen made the first breakthrough, having Mayank Agarwal caught behind after Agarwal and Rahul put on 36 in the first hour.
Olivier plunged India into trouble from which they never fully emerged by dismissing Cheteshwar Pujara and Ajinkya Rahane off successive balls when the total was on 49.
South Africa again made a poor start, with Aiden Markram falling leg before wicket to Mohammed Shami for seven in the fourth over.
South African captain Dean Elgar (11 not out) and Keegan Petersen (14 not out) survived to the close, although Petersen was dropped by wicketkeeper Risabh Pant off Jasprit Bumrah when he had 12.
There was a scare for the Indians when Mohammed Siraj left the field clutching his right hamstring after bowling the fifth ball of the penultimate over of the day.