Experienced India batter Dinesh Karthik smashed a maiden fifty in Twenty20 internationals to help set up the hosts' massive 82-run victory over South Africa at Rajkot on Friday.
The result sends the five-match series into a decider.
The 37-year-old Karthik, who played the team's first T20 international against the same opponents in 2006, smashed 55 from 27 deliveries to produce late fireworks as India posted 169-6 in their 20 overs.
South Africa, who won the opening two matches of the series, got off to a horrible start in their chase when captain and opener Temba Bavuma retired hurt after suffering blows to his hand and body.
Batting mainstay Quinton de Kock, who returned to the side after missing the last two matches with injury, departed soon after when he was run out -- leaving South Africa a mountain too steep to climb.
The touring side managed to reach only 87 for nine in 16.5 overs with Bavuma not returning to bat.
The sides will next head to Bengaluru for the deciding fifth T20 on Sunday.
India fast bowler Avesh Khan was the most successful with the ball for the hosts, making full use of the bounce on offer from the pitch to pick up 4-18.
South's Africa's fast bowling attack earlier pegged India back with early wickets after they were put in to bat.
The hosts, playing the series without several frontline players including regular captain Rohit Sharma and batters Virat Kohli and KL Rahul, appeared headed for a below-par total in their must-win match.
India were reduced to 81-4 in the 13th over when stand-in skipper Rishabh Pant, who has had a torrid series with the bat, was out for 17 playing a poor shot.
It brought Karthik and Hardik Pandya together and the right-handed pair managed to resurrect the Indian innings with a quickfire partnership of 65.
Karthik smashed nine fours and two sixes in his entertaining knock, bringing the crowd on their feet.
Pandya provided able support with a knock of 46 off 31 balls as the hosts plundered 73 runs from the last five overs.