Gibbs, caught off a no-ball when he had two, made 93 not out in a South African total of 243 for eight Wednesday.
Indian opening bowler Zaheer Khan continued his dominance over South African captain Graeme Smith as the host nation had to fight back after losing early wickets for a third successive match. South Africa lead the five-game series 2-0 with one match washed out.
This time, though, South Africa were unable to stage a recovery on the scale that led to victories by more than 100 runs in the previous two matches.
Stand-in Indian captain Virender Sehwag handled his bowlers skillfully on a slow pitch, making good use of his slower bowlers as South Africa lost wickets at regular intervals.
Smith again won the toss but the left-handed opener was out for the third consecutive time to the left-armed Khan. In three matches he has faced just seven balls from Khan and failed to score a run against him. The only run he has made in the series was against Munaf Patel in the first match.
Khan trapped his man leg before wicket playing across the line, his second such dismissal. Smith was bowled in his other innings.
Opening partner Loots Bosman was also out for nought, bowled by Shanthakumaran Sreesanth. Jacques Kallis made an impressive 49 with nine boundaries as he and Gibbs put on 69 for the third wicket after Gibbs, on two, pulled a no-ball from Sreesanth straight to Sehwag at square leg.
Veteran leg-spinner Anil Kumble dismissed Kallis with his first ball and followed up with the wicket of AB de Villiers. He took two for 42 and was the only bowler to send down his full quota of ten overs.
Gibbs had two partnerships of 61, with Mark Boucher (29) and Shaun Pollock (37) but each time the South Africans threatened to get on top wickets fell. Gibbs faced 123 balls and hit eight fours.
Justin Kemp, who made an unbeaten century in the third match in Cape Town, was out first ball when he cut Sachin Tendulkar hard to Sehwag at backward point immediately after Boucher's dismissal.
Sehwag captained the side because of a fractured right middle finger which will keep Rahul Dravid out of the rest of the series.
Sehwag was due to open the batting with Wasim Jaffer, with Tendulkar dropping down to number three for the day-night game.
All-rounder Andrew Hall, who scored 56 not out and took three for 45 after being selected in controversial circumstances ahead of Andre Nel in Cape Town, kept his place.
Selection convenor Haroon Lorgat made a late decision to leave out Nel Sunday despite the fast bowler being passed fit to play after suffering a finger injury. Nel was back in the side in place of Charl Langeveldt.
India left out off-spinner Harbhajan Singh and selected Sreesanth.
South Africa 243 for 8 in 50 overs (Herschelle Gibbs 93 n o, Jacques Kallis 49, Shaun Pollock 37, Mark Boucher 29; Kumble 2 for 42, Sreesanth 1 for 29, Zaheer 1 for 38) Vs India