South Africa defeated India by 31 runs at Boland Park in Paarl in first ODI on Wednesday. Chasing a 297-run target.