Chasing an improbable 395 for a win, South Africa, resuming the final day on 11 for one, suffered a spectacular batting collapse and were all out for 191 in the second session despite some resistance by their lower order.
After Rohit Sharma smashed twin hundreds in his maiden match as a test opener, India’s spinners were expected to inflict most of the damage in the second innings.
It was, however, Shami who jolted South Africa’s hopes of salvaging a draw with his early strikes before he returned to complete his fifth five-wicket haul.
“Shami has been the strike bowler for us in the second innings consistently now,” India captain Virat Kohli said at the presentation ceremony.
“If you see all his four-five wicket hauls, they come in the second innings invariably when the team needs it. When the ball is reversing, that’s his strength. I think the bowlers had it tougher in this game given the conditions.”
Jadeja played the support role to perfection by picking up 4-87, including three in one over, to help India take a 1-0 lead in the three-match series.
Tailender Dane Piedt and debutant all-rounder Senuran Muthusamy (49 not out) showed the grit and determination that was missing from their top and middle order batsmen in a ninth-wicket stand of 91.
Shami (5-35) broke the stand by dismissing Piedt for 56, his fourth bowled-out victim, after the batsman had completed his maiden half-century in tests.
“Second innings was tough, I thought up until today morning we fought really well,” South Africa captain Faf du Plessis said.
“On a day five pitch, it does happen quicker, but it’s the nature of test cricket. But it should happen like that, it’s perfect like that.”
Ravichandran Ashwin provided the early breakthrough on Sunday when Theunis de Bruyn chopped on the off-spinner.
It tied Ashwin for the fastest in the world to 350 test wickets with Sri Lankan spinning great Muttiah Muralitharan who also achieved the feat in his 66th match.
With the spinners taking nine out of 10 wickets in the first innings on a pitch where deliveries occasionally kept low, Shami displayed what it takes for a fast bowler to succeed on such a surface.
He bowled fast, got some reverse swing and attacked the stumps to be rewarded for his relentless hostility.
While the ball stayed a touch low to rattle Temba Bavuma’s timber, du Plessis was out for 13 to a horror judgement when he shouldered arms to a Shami delivery that came in and hit the off stump.
First innings centurion Quinton de Kock was out for a second ball duck when Shami breached his defence.
Jadeja then got in on the act, first dismissing Aiden Markram (39) with a stunning one-handed return catch, and then Vernon Philander and Keshav Maharaj all in the space of five deliveries.
It was the third straight win in as many matches for top-ranked side India in the World Test Championships. The second test starts at Pune from Thursday.