Crowd trouble stretched the game but South Africa finally prevailed by six wickets to take a winning 2-0 lead in the three-game Twenty20 series against India on Monday.
Pace bowler Albie Morkel grabbed 3-12 to lead a disciplined bowling display as South Africa dismissed India for only 92 off 17.2 overs.
India's second lowest score in T20s, after its 74 all out against Australia at Melbourne in 2008, led to the disappointed crowd throwing plastic bottles on to the ground.
It led to two interruptions of 20 and 25 minutes during South Africa's chase after the 11th and 13th overs of their innings.
South Africa, which won the first game at Dharamsala by seven wickets, eventually coasted to 96-4 in 17.1 overs with Jean-Paul Duminy 30 not out.
Off-spinner Ravichandran Ashwin, expected to be India's trump card across formats during South Africa's 72-day tour, shone with 3-24. However, India's total was too less to give the visiting side a tough time.
Ashwin had the satisfaction of dismissing big names Hashim Amla, A.B. de Villiers and captain Faf du Plessis but last-match hero Duminy followed up his 34-ball 68 not out at Dharamsala with another important innings.
"I don't think we played good cricket," India captain Mahendra Singh Dhoni said. "There were not enough runs on the board. One thing is for sure, our spinners are bowling well, and that has been our strength."
Earlier, the Indian innings stuttered in the face of some spot-on bowling and a couple of run outs up the order.
Opener Shikhar Dhawan was trapped lbw by seamer Chris Morris before test captain Virat Kohli and last-match centurion Rohit Sharma were run out as a result of some fine fielding by Morris and David Miller.
The South Africans suddenly had their tails up, knowing that a few more wickets would swing the game their way.
Ambati Rayudu then missed a full toss from pace bowler Kagiso Rabada as India was reduced to 45-4 in the ninth over. The chances of piling up a challenging score looked unlikely from this stage with captain Mahendra Singh Dhoni and Suresh Raina the best hopes.
But they too could do little as Dhoni was dismissed by Morkel and then leg-spinner Imran Tahir dismissed Raina and Harbhajan Singh off consecutive deliveries to reduce India to 69-7 in the 13th over. Morkel also dismissed Axar Patel and Bhuvneshwar Kumar to rule out any late resistance.
"Look, it's an easy job to be a captain when your bowlers perform like that," de Plessis said. "I reckon it's the best bowling performance we have had as a T20 team. It is Albie's 50th game and we are really proud of him for playing that many games, he was really clever with his lines."
The final match of the series will be played in Kolkata on Thursday. It will be followed by five one-day internationals and four tests.