India's bowlers backed up a long-awaited century from Virat Kohli as the hosts defeated South Africa by 35 runs on Thursday to level the five-match one-day series 2-2.
Kohli smashed 138 off 140 balls to lift India to 8-299 after Mahendra Singh Dhoni elected to bat in the must-win international at the Chidambaram stadium in Chennai.
The tourists managed only 9-264 in reply despite a heroic 112 off 107 balls by skipper AB de Villiers even as the other batsmen folded in the stifling heat and humidity.
Seamer Bhuvneshwar Kumar claimed three wickets and off-spinner Harbhajan Singh took two to set the stage for the decisive final match at the Wankhede stadium in Mumbai on Sunday.
Dhoni said teamwork was pivotal in the crucial series-levelling game.
"As a team we did well, we bowled well and batted well," he said. "Virat batted exceedingly well, especially the runs he got after the 35-over mark.
"Everyone has scored runs in the series now so that's good as we go into the last match."
Kohli, who was named man of the match, lavished praise on de Villiers for fighting it out in the hot weather.
"It was pretty difficult out there because there wasn't much of a breeze during the day when it was so hot," said Kohli. "If AB (de Villiers) starts cramping then you know how hard it is because he is one of the fittest people around.
"A century in a winning cause is always special, but the knock by de Villiers too was very special. I told him in the dressing room that my heart was in my mouth when he was batting. He plays unbelievable shots. Credit goes to him, he fought it out."
South Africa badly missed all-rounder JP Duminy and fast bowler Morne Morkel who were ruled out of the key game due to injuries. They were replaced by fast bowler Chris Morris and left-arm spinner Aaron Phangiso.
Kohli struck six boundaries and five sixes in his 23rd one-day century, the first after a gap of 13 innings since scoring the match-winning 107 against Pakistan in the World Cup match in Adelaide in February.
Left-hander Suresh Raina overcame his poor run of 3, 0, 0 in the previous three matches to score 53 off 52 balls and share a fourth-wicket stand of 127 with Kohli.
South Africa fought back towards the end of India's innings, claiming five wickets for 33 runs after the hosts were cruising at 3-266 in the 45th over.
Fast bowlers Dale Steyn and Kagiso Rabada picked up three wickets each.
Quinton de Kock hit 43 off 35 to lift South Africa to 1-67 before Harbhajan struck twice and Axar Patel took one to make it 4-88 in the 18th over.
Farhaan Behardien helped his captain add 56 for the fifth wicket before he was leg-before to Amit Mishra for 22 in the 32nd over.
De Villiers reached 97 with a six off Harbhajan and brought up his 22nd one-day century - the fifth against India - with a straight six off Mishra.
But he fell in the 45th over, caught behind off Kumar, with his team still needing 67 runs off the last 33 balls. De Villiers hit 10 boundaries and two sixes.
Earlier, South Africa reduced India to 2-35 before Ajinkya Rahane (45) joined Kohli to add 104 for the third wicket.
Kohli reached his century by lofting Phangiso for a straight six in the 38th over, but he managed just 38 runs in the next 10 overs against steady bowling by the Proteas.