Albie Morkel grabbed three wickets as the Proteas bowled India out for 92 and then surpassed the modest target in 17.1 overs at the Barabati stadium.
Play was stopped for an hour when disappointed Indian fans threw bottles on to the field as the tourists were cruising to an easy win, which was achieved for the loss of just four wickets.
South Africa had won the first match by seven wickets in Dharamsala on Friday. The third and final game will be played at the Eden Gardens in Kolkata on Thursday.
South Africa will also take part in five one-day internationals and four Tests during their 10-week tour of India.