Opener Shikhar Dhawan said twin rain breaks coupled with reprieves to David Miller cost India dearly as South Africa brought an halt to the visitor's rampaging ODI run with a five-wicket win in the fourth ODI.

The stunning turnaround in the rain and lightning-struck ODI in Johannesburg, meant South Africa maintained their unbeaten record in pink and keep alive the six-match series by reducing the margin to 3-1.

Miller was given two lives -- a dropped catch in the deep and then was bowled off a no ball off Yuzvendra Chahal. He was on 6 and 7 not out respectively, and then went on to make 39 off 28 balls.

"The main reason was, of course, the dropped catch and then a wicket off no-ball. From there the momentum changed.

Otherwise we were in very good position," Dhawan said at the post match press conference late last night.

"Of course rain had an impact too. Our spinners couldn't turn the ball or grip the ball the way they did in the last three matches. It makes a difference when the ball gets wet.

That's the reason," added the left-hander.

Considerable amount of time, to be precise 53 minutes, were lost during India's innings as rain first stopped play when the visitors were placed at 200 for 2.

Although no overs were cut, India lost the momentum and only finished at 289 for 7.

Later another rain break meant 113 minutes were lost during South Africa's innings and the match was reduced to 28 overs with 202 being set as the revised target.

"We took the decision to bat first because in the evening the ball moves here. There's also the effect of the breeze and it can have an impact," said Dhawan, who scored a century in his 100th ODI on Saturday.

"Of course, we were batting in a flow when the rain came and our flow was broken. After that I got out. Then the runs didn't come at the same pace. But that doesn't mean the total was bad. But once it rained again, the outfield became wet."

Dhawan said Miller grabbed the lives with both hands and changed the complexion of the game.

"Miller also played very well. Luck was on his side.

First he was dropped and then got bowled off a no ball.

Usually our spinners don't bowl no balls. He took that chance with both hands and went on to change the momentum of the game," he said.

But the main talking point of the day was wrist-spinners Kuldeep Yadav and Yuzvendra Chahal's below-par performances as the duo endured their first bad outing on this tour.

Chahal (1-68) and Yadav (2-51) did add to their tally of wickets, but went for a lot of runs as well. They failed to contain the Proteas for once, going for 119 runs in 11.3 overs.

But Dhawan came in support of the young spinners, saying it was a rare off-day for them in office.

"See they are young guys. They have been doing very well, more than well for us. These two spinners have won three games for us. My support is always with them. Any one can have a bad day," he said.

"It's not something that happens every time. Like our spinners don't often bowl no balls. Even if they get hit, they will learn a lot of things," he added.

Dhawan said it is important to go through failures in life to learn lessons and Chahal and Yadav should take it in their stride and look ahead.

"We've already won three games, so one more game and we're through," he said.

Dhawan also backed skipper Kohli's decision to hand the ball to the wrist-spin duo instead of Bhuvneshwar Kumar and Jasprit Bumrah after the match was curtailed.

"At that time, the captain probably thought that they were taking chances against the spinners and we needed wickets. Because the wicket was such (good for batting) and the ground was wet so by stopping runs we couldn't have won.

Wickets were very important," he said.

"So the captain thought the spinners could take wickets.

Sometimes you take a risk and it pays off, sometimes it doesn't pay off. It's normal," said Dhawan, about the decision not to bowl Bhuvneshwar and Bumrah any further.

Earlier in the day, Dhawan had celebrated his 100th ODI with a 13th century. He scored 109 runs and put on 158 runs with skipper Kohli, who scored 75. The duo also put on an eighth century stand for the second wicket in ODI cricket.

"It was a picture perfect innings. I enjoyed it. It cannot get any better. In my 100th match, I scored a century.

I'm very happy about that. Obviously they had their plans, but I adjusted to those things and started off well," he said.

"From the other end, Virat was also going well and so I supported him. I am happy that I scored a century today. I just want to continue and improve the quality of my game."