Harbhajan Singh introduced himself to South Africa in the most emphatic manner at Supersport Park on Wednesday night, ripping the heart out of the home team's batting to set up a 41-victory for India in the third game of the Standard Bank One-Day International Series.

Singh took three for 27 in his 10 overs, taking his first wicket with a beautiful ball that drew the in-form Jacques Kallis out of his crease to be stumped and then adding the scalps of Nicky Boje and Shaun Pollock.

He wreaked such havoc in the middle order during the middle overs that South Africa, chasing India's 233 all out, suddenly found themselves teetering at 106 for seven with fewer than half their overs faced. There was an eighth-wicket stand of 77 between Lance Klusener and Mark Boucher, but once Boucher had gone, quite superbly caught by Ajit Agarkar as he ran around from backward square leg, the ball game was all but over.

Anil Kumble played his part too, winkling out Neil McKenzie and Jonty Rhodes to finish his 10 overs with two for 42. It was the combination of the two spinners that unravelled the South Africans and, even though Klusener fashioned a defiant 44, when Boucher left, South Africa had run out of batsmen. The innings closed at 192 off 46.2 overs.

For once, the South Africans had not been given a good start, both openers gone at 38 for two and, although Kallis and McKenzie had their moments, the batting lacked authority as India seemed to discover how to bowl on South African pitches.

India never seemed to have made quite enough with most of their top order getting in but failing to follow through before South Africa snipped off the tail in the closing overs. To a large degree, of course, this was the consequence of disciplined bowling with Pollock taking five for 37 as he reached 200 wickets in One-Day Internationals.

The Indians had reason to be aggrieved by Sourav Ganguly's dismissal, Kallis appearing to grind the ball into the turf as he picked up a fine catch off Pollock.

There was probably less cause for debate when Rahul Dravid was given out caught at midwicket by Klusener off for 54. In neither instance, though, was the catch referred to the third umpire, rightly or wrongly, depending on whether you believe the Australian argument that catches should be adjudged only by the on-field officials.

Ganguly had looked in spanking form, twice lifting Pollock over backward point for six as he made 24, but herein lay India's problem - Ganguly (24), Sachin Tendulkar (38), Dravid (54), Yuvraj Singh (42) and Virender Sehwag (33). Someone, you though, needed to kick on because, in truth, par for this pitch looked to be about 260.

Still, the South Africans might have felt they should have done better as their catching let them down. Dravid was missed within the space of a few balls on 13 and 14, first by Herschelle Gibbs and then by Klusener who was also to drop Kumble towards the end of the innings.

By and large, though, there could be little argument about the result. India's bowling was a vast improvement on the effort at the Wanderers while South Africa's catching and batting went backwards. Both teams are certain to qualify for the final at the end of the month, but India went a long way to ensuring that the preliminary matches will be far more closely contested than many had anticipated.