Kohli's 138 off 140 balls trumped AB de Villiers' stunning knock of 112 off 107 balls as India levelled the five-match series 2-2 to set up a mouthwatering finale in Mumbai on Sunday.
That's it. India beat South Africa by 35 runs to level the five-match series 2-2. The final will be played in Mumbai on Sunday.
South Africa need 40 runs from the last over. Mohit Sharma to bowl the last over.
South Africa need 42 runs in 9 balls. Looks impossible now.
OUT! Bhuvi gets his third. Dale Steyn foes for 6. SA 250/9. India one wicket away for win.
OUT! Bhuvneshwar Kumar gets his second wicket. Dismisses Phangiso for 20.
Four runs. Dale Steyn hits Bhuvneshwar straight down the ground.
South Africa need 66 runs in 32 balls
OUT! AB de Villiers falls to Bhuvneshwar kumar for 112. Big wicket for India. South Africa 233/7 in 44.3 overs.
South Africa need 71 runs in 36 balls
Chasing 300 to win, South Africa kept losing wickets at regular intervals before De Villers scored a stunning ton to keep the visitors alive in the match in Chennai.
Another SIX! AB de Villiers reaches his 22nd ODI ton in style. What a player!
South Africa need 85 runs in 46 balls
SIX! AB de Villiers his another stunning shot. He has been the lone fighter of South Africa tonight.
South Africa need 106 runs in 64 balls.
OUT! Chris Morris is run out for 9. Brilliant fielding from Rahane. Direct hit! South Africa 185/6 in 38.1 overs (chasing 300).
Four runs. What a shot from AB. Reverse sweep again!
Since 2012, in 16 matches chasing vs Asian sides, SA have 4 wins. 2/6 vs PAK, 1/5 vs SL, 1/1 vs BAN and 0/4 vs IND.— karachikhatmal (@karachikhatmal) October 22, 2015
Amit Mishra starts the new over and AB welcomes him with two back-to-back boundaries. He is playing a brilliant innings.
Four runs. De Villiers hits Bhuvneshwar to deep midwicket boundary. Four more. Brilliant shot from AB to reach his 48th ODI fifty. Inside-edge off AB de Villiers' bat goes to fine leg boundary. Third off the over. End of over 33: South Africa 157/5 (chasing 300).
Chris Morris is the next man in for South Africa. South Africa need 156 runs.
OUT! Mishra finally gets a wicket. Behardien is gone for 22. LBW. South Africa 144/5 in 31.5 overs.
Big appeal for caught behind from Amit Mishra and MS Dhoni. Behardien looked out there but given not out by umpire.
South Africa need 156 runs in 19 overs to win the match.
Behardien and AB de Villiers have completed 50-run stand for the fifth wicket. India need another wicket here if they want to take complete control of the match. South Africa 142/4 in 30 overs. South Africa need 158 runs,
End of over 26: South Africa 132/4 in 26.4 overs.
South Africa need 184 runs to win the match.
Amit Mishra comes in to bowl his first over. Dot ball followed by three runs to third-man. Single followed by a dot ball. End of over 22: South Africa 107/4 (chasing 300).
End of over 21: South Africa 103/4 (chasing 300).
South Africa need 211 runs to win the match.
OUT! David Miller falls to Harbhajan Singh for 6. South Africa 88/4 in 18 overs.
Four runs. David Miller hits Harbhajan Singh to deep mid wicket.
South Africa need 216 runs to win the match.
Chasing 300 to win, openers gave South Africa a steady start before Mohit Sharma dismissed Hasim Amla and the spinners got rid of Quinton De Kock and Faf du Plessis in quick succession.
OUT! Axar Patel dismisses Faf du Plessis for 17. Dhoni takes a sharp catch. SA 79/3 in 14.4 overs.
South Africa 73/2 in 13.5 overs (chasing 300)
South Africa need 229 runs to win the match in 37 overs.
Chasing 300 to win, openers gave South Africa a good start before Mohit Sharma dismissed Hasim Amla (7) in the sixth over and Harbhajan got rid of De Kock (43) in the 12th.
OUT! Harbhajan Singh strikes! Quinton de Kock goes for 43. Simple catch for Rahane. SA 67/2 in 11.3 overs.
South Africa need 237 runs to win in 40 overs.
SIX! De Kock hits Bhuvneshwar Kumar over the deep midwicket boundary. He is now batting on 41. South Africa 62/1 in 9 overs.
Four runs. De Kock hits Mohit Sharma to deep midwicket.
Four runs. It was a bouncer from Mohit and Du Plessis' top-edge goes to fine leg boundary.
End of over 7: South Africa 44/1 (chasing 300); need 256 runs more to win the match.
Four runs. De Kock hits Mohit Sharma to fine leg boundary to end the over. SA 42/1 in 6 overs.
Chasing 300 to win, openers gave South Africa a good start before Mohit Sharma dismissed Amla (7) in the sixth over after Virat Kohli's ton took India to a big total in Chennai.
OUT! Hashim Amla falls to Mohit Sharma for 7. SA 36/1 in 5.1 overs.
Four runs. It was wide outside the offs stump and De Kock makes no mistake and hits a cracking shot. Four more. This time to midwicket boundary and it was also a no ball. Two runs followed by a dot ball. End of over 5: South Africa 36/0
Just two runs came from the fourth over bowled by Mohit Sharma. South Africa 21/0 in 4 overs. South Africa need 279 runs more to win the match.
Mohit Sharma starts the next over. Single off the first ball followed by a double to backward square leg. Two dot balls followed by a front-foot no ball. De Kock hits a cracking four off the free-hit. End of over 2: South Africa 16/0 (chasing 300)
Play resumes after the mid-innings break. South Africa need six run an over to win the match. Hashim Amla and Quinton de kock are opening the batting. Bhuvneshwar Kumar starts the first over with a wide ball outside the leg stump. Dot ball followed by a double to extra cover. Four runs. Excellent placment from Kock to square off the wicket. End of over 1: South Africa 8/0 in 1 over (chasing 300).
That's it. South Africa limit India to 299/8 in 50 overs. Only four runs came from the last over.
OUT Dhoni falls to Steyn for 15.
Dale Steyn starts the last over. Single off the first ball followed by a dot ball to Axar.
Harbhajan Singh was bowled on the first ball but it looks like a front-foot no ball. The third umpire thinks otherwise and he has given him out. Two in two for Rabada. Axar Patel is the next man in. Double followed by a single.
OUT! Virat Kohli falls to Kagiso Rabada for 138. A brilliant innings comes to an end. India 291/5 in 48.2 overs.
End of over 48: India 290/4 vs South Africa.
SIX! What a shot from Kolhi. Straight sown the ground.
Virat Kohli scored his 23rd ODI hundred and had a 127-run stand with Raina (53) to put India in a strong position before Dale Steyn broke the partnership.
OUT! Suresh Raina falls to Dale Steyn for 53. AB de Villiers takes the catch. India 266/3 in 44.5 overs.
Fifty up for Suresh Raina. A much-needed knock from him. First half-century for Rina in his last eight innings.
Dropped! It was a tough chance but AB de Villiers went for it.
Dale Steyn starts the new over with a dot ball. Single off the next ball and then Raina hits a cracking four straight down the ground. India needed him to come back to form and looks like this is going to be the match. Seven runs came from the over. India 255/3 in 43 overs.
Virat Kohli and Suresh Raina have now completed century partnership for the fourth wicket.
India 240/3 in 41 overs against South Africa.
Four runs. Virat Kohli hits a cracking shot off Phangiso. Excellent placement. Four more. This time Kohli hits it to long off. India 230/3 in 40 overs.
Four runs. Suresh Raina hits Chris Morris to mid on. India 218/3 in 38.4 overs.
100! KOHLI SCORES HIS 23RD ODI CENTURY FOR INDIA. HE BRINGS THAT IN STYLE - SMASHES THE BOWLER STRAIGHT DOWN THE GROUND FOR A BIGGIE!
36th over: India in this series have struggled in between 30th and 40th over but this time Kohli and Raina are batting sensibly and building on partnership.
FOUR! Straight down the ground. Kohli is a live wire on the field. Looked like a dropped catch from Tahir in the follow through. But nevertheless, India get another boundary and Kohli nears to his century. India 183-3 in 34 overs
FOUR! A brilliant touch of Virat Kohli coming into play there. Full toss from Steyn outside off and just a flick of the wrist from Kohli to power it across the fence. India 155/3 in 29 overs
OUT! That man comes back and strikes! Dale Steyn it is and Ajinkya Rahane's time in the middle is over. He goes for 45. The 104-run partnership has been broken. Rahane went for the cut shot and edges it to De Kock. India 139/3 26.1 overs.
Century-run stand comes up between Kohli and Rahane in 104 balls.
Four! Beautiful! Over pitched delivery from Morris and Ajinkya Rahane and drilled it wide of mid-off. India 128/2 in 23 overs
Back-to-back boundaries from Rahane off Morris. Sensible batting! It will bring the pressure on South Africa.
FIFTY for Kohli: Kohli slams his 35th ODI half-century off just 51 balls. He has shown tremendous intensity and great responsibility here.
100 comes up for India in 19 overs! Kohli and Rahane are playing well in the middle and they have done well to steady India's ship.
SIX! Terrific from Kohli! He picked up Tahir's delivery on the back foot and pulled over mid-wicket for a maximum. Also comes the fifty-run partnership. Bit of a partnership building here for India now with Kohli and Rahane on strike. India 86/2 in 16 overs.
SIX! Beautiful shot from Kohli, excellent use to feet and he chips it back over Phangiso's head. India 62/2 in 13 overs.
OUT! Impressive from Rabada! India lose Shikhar Dhawan (7)! Big hearted bowling from South African bowlers in this Chennai heat. Quinton de Kock takes a beauty behind the stumps. India have a got a problem in their hands now. Shikhar Dhawan's woeful form continues. India 35/2 in 7.5 overs
OUT! Chris Morris gave South Africa the first success as Rohit Sharma, who was looking dangerous in the middle, holed out to Du Plessis after a cameo of 21. India 28/1 in 4.5 overs.
Ohh! Again a yes or no situation in the middle. One thing that has been a problem for India in this series is poor coordination between Rohit and Shikhar while running between the wickets.
FOUR! Superb shot from Rohit! He loves the pull shot. Rohit taking Rabada early on. Every time one has bowled Rohit a short ball, he has gone for the pull. India 26/0 in 4 over
Back-to-back boundaries: Rohit Sharma has got a bit of a start here. Just 11 balls and 3 boundaries already. Morris gets the thashing this time. India 18/0 in 3 overs
FOUR! Nicely played by Rohit as Rabad angled it into Rohit's pads. The Mumbai batsman waited on it and clipped it up and over mid-wicket - first boundary of the day. India 9/0 in 2 overs
Styen starts off with a flier. Cautious beginning from Rohit Sharma and Shikhar Dhawan. AB de Villiers' brilliant effort saves a sure shot boundary. India 2/0 in 1 over.
AB de Villiers: It's a big toss to lose for us, but we love the challenge. Morne Morkel and JP Duminy are out with injuries, Chris Morris and Aaron Phangiso return. It's a great opportunity for us to wrap it up today.
MS Dhoni: We will bat first, looks like a decent wicket. Hopefully as the game progresses it will slow down to some extent. We are playing with the same side. We don't want to repeat the mistakes that we have done. We have played good cricket, but we have not finished games.
South Africa: David Miller, Quinton de Kock (WK), Hashim Amla, Faf du Plessis, AB de Villiers (C), Farhaan Behardien, Chris Morris, Dale Steyn, Kagiso Rabada, Imran Tahir, Aaron Phangiso
India: Shikhar Dhawan, Rohit Sharma, Virat Kohli, Ajinkya Rahane, MS Dhoni (WK/C), Suresh Raina, Axar Patel, Harbhajan Singh, Bhuvneshwar Kumar, Amit Mishra, Mohit Sharma
Toss: Unchanged India opt to bat against South Africa.
Brief Preview: India have won just one match in the T20I and ODI series against South Africa so far and MS Dhoni and Co will aim to stay alive in the five-match one-day series when they take on the Proteas in the fourth match at the MA Chidambaram Stadium in Chennai on Thursday.
Riding on a disciplined bowling show and a brilliant century from Quinton de Kock, South Africa defeated India by 18 runs in the third ODI in Rajkot and a win in Chennai will give them an unaccessible lead before the last match in Mumbai.
The biggest worry so far for Dhoni has been the inconsistent performance from his batsmen and there has also been a debate about the batting positions after the Indian skipper promoted Virat Kohli to number three in place of Ajinkya Rahane in the fourth ODI in Rajkot.
Rahane, who scored two half-centuries batting at one down, failed at Rajkot and could only score four runs, while Kohli, who was struggling, scored a half-century after being promoted.