|India batsman Laxman was named man-of-the-match in a Test dominated by bowlers [GALLO/GETTY]
India staged a comeback from their innings-defeat at Centurion to beat South Africa by 87 runs in the second Test at Kingsmead.
Chasing 303 for a series-clinching victory, South Africa resumed the fourth day on 111-3 but four early wickets left the hosts in desperate trouble at 155-7.
South Africa put up some resistance on Wednesday, Ashwell Prince finishing 39 not out and Morne Morkel scoring 20, but India were not to be denied a victory that levels the series 1-1.
Sreesanth (3-45) and Khan (3-57) were the pick of the bowlers and the win was sealed when Cheteshwar Pujara ran out Lonwabo Tsotsobe with a fine bit of reflex fielding to dismiss the hosts for 215 after lunch.
Victory was only India's second in 14 Tests in South Africa and ensures they will retain the number one ranking whatever happens in next week's decider in Cape Town.
"It means I've got a good side and we've played consistently over a period of time. We started the process in 2007/08 and we've done well in most places," India's captain Mahendra Singh Dhoni said of his side's position in world cricket.
India's VVS Laxman was named player of the bowler-dominated match for his aggregate 134 runs in both innings including 96 in his team's second innings score of 228.
"It was a very special innings, you can always count on VVS. When he hasn't scored for a couple of innings, then you know something very special is coming. Those were the 90 runs that we really needed," said Dhoni.
Sreesanth claimed the key wicket of Jacques Kallis for 17 in the eighth over of the day with an inspired delivery that reared up off a good length, as South Africa's leading run-scorer could only fend the ball off his gloves into the gully region.
Five overs later AB de Villiers, who had resumed on day four with Kallis, fell lbw to Harbhajan for 33 in a close call despite a long stride forward.
There was more doubt over Mark Boucher's wicket, the wicketkeeper given out leg-before for one to Zaheer, though replays suggested the ball would not have hit the stumps.
Dhoni was delighted to have his leading fast bowler back after missing the first Test.
"Someone like Zaheer takes work off the coaches, he doesn't panic in difficult situations and it's always good to have him in the side," Dhoni said.
The series decider will be played in Cape Town starting on January 2.