Shami and Bumrah shared three wickets each in the morning session on day four, effecting a South African collapse in which they lost 8 wickets for only 65 to be bowled out for 130
in the second innings.
With home team extending the lead to 207 runs, India will have to chase down 208 for their third ever Test win on South African soil.
Starting from day two overnight 65/2, the slide began in the second over of the morning.
Shami had Hashim Amla (4) caught at gully with Rohit Sharma taking a low catch. The decision went up to the TV umpire but he didnt find conclusive evidence to overturn the soft signal.
Four overs later, Shami sent back nightwatchman Kagiso Rabada (5), caught at second slip. In the 29th over then, when Bumrah had Faf du Plessis (0) caught behind off a snorter, South Africa were struggling at 82/5.
Bumrah also removed Quinton de Kock (8) as it became 92/6 and the collapse became imminent.
AB de Villiers (35 runs, 50 balls, 2 fours, 2 sixes) waged a lone battle at the other end but he just couldnt find anyone to support him as Shami trapped Vernon Philander (0) lbw to take 11/3 in six overs this morning.
Wriddhiman Saha took his 10th catch of the Test when Morne Morkel (2) was caught behind off Kumar two overs later.
Bumrah completed South Africas misery as de Villiers holed out in the deep in search of some quick runs, rounding up a dismal morning. Dale Steyn, batting despite a bruised ankle, was the unbeaten batsman.
On day two, India finished with 209 runs in their first innings, surrendering a 77-run lead.
Day three was completely washed out due to persistent rain.
(This story has not been edited by Business Standard staff and is auto-generated from a syndicated feed.)