JOHANNESBURG - On their most glorious day of cricket on this tour of South Africa, India closed in on a rare Test win in conditions that required courage, skill and some luck, but one hit too many to the batsmen forced the umpires to take the players off the field with South Africa 17 for 1 chasing an improbable 241. This happened with less than half an hour to stumps. Play for the day was called off, and the future of the match remained uncertain.

Virat Kohli, Ajinkya Rahane and M Vijay batted out of their skins, putting behind them the blows they took from the inconsistent and exaggerated bounce, going through periods of excessive seam movement, putting every scoring opportunity away. The lower order, led by Bhuvneshwar Kumar with a composed 33 and Mohammed Shami with a whirlwind 27, then all but put the matter beyond South Africa, setting the hosts 241 to win.

Vijay was hit five times in the first session, Kohli wore one length ball on his glove, and by the time Rahane was hit on his bare back elbow India were in such a good position that Rahane sent back the physio, who had been kept busy earlier. India didn't want to risk giving a suggestion that this pitch was dangerous; they were desperate to win, they didn't mind a bruised rib or finger, and probably didn't imagine or think of worse.

Before you talk about padding and arm guards and helmets, you must watch a net session and watch from up close these Test cricketers face bouncers chucked at them by the sidearm. It takes half a second to leave the bowler's hand and reach the batsman. Facing accurate short-pitched fast bowling on true pitches or in the nets is hard enough; here the bounce was unpredictable. Sometimes it jumped off a length, and also seamed back in, leaving the batsmen nowhere to go. Umpires chatted often, looking worriedly at some of the good-length areas, and a piece or two of the pitch that had come off.

India, they were not bothered. They had their eye on the prize. They began the day effectively 42 for 1, having lost only their pinch-hitter Parthiv Patel. Vernon Philander and Morne Morkel took out KL Rahul and Cheteshwar Pujara in the first five overs of the day, and South Africa sensed an opportunity here. Then Vijay and Kohli then did what Pujara and Kohli did in the first innings.

What a day it was for India to find the Vijay that had gone missing in the first five innings of this series. The pitch has usually been at its worst in the first hour of each day; on the third day it was also dangerous. Vijay bore most of the brunt. However, his judgement didn't waver. This was a proper dig-in: he left judiciously, drove only when the ball was too full, and was always on the lookout for a single. He scored only 25 off 127 balls, but he weathered the new ball and the pitch. The pitch was never going to get flat, but he made the job of those following him a little easier.

Kohli, at the other end, got into better positions to attack. There was one drive ball in the first whole first hour, and Kohli nailed the drive for four. That hour produced just 18 runs and two wickets. His reaction to counter the excessive seam movement was to get as far forward as possible, never mind the high pace of bowlers other than Philander. What Kohli did was exceptional because he scored at a rate of more than three an over.

For the bowlers there was a difficulty too: it seamed too much, and the ball often missed the edges. Like with India's change bowlers in the second hour of day two, the half-volleys began to arrive, and Kohli was in no mood to miss any. It eventually took a big seaming delivery from Kagiso Rabada to snake past Kohli's inside edge and hit the top of off stump. Rabada had earlier bowled Vijay with a yorker than proved to be the last ball before lunch.

The most impressive part of Kohli's innings, though, was his leaving outside off stump, which he didn't do enough of in Cape Town. He didn't follow with his hands balls that seamed away. If he did on the odd occasion, he went back and looked at the imaginary line he had given himself to stay in, to not play outside of.

Just like the leave, Kohli might have wished he had incorporated Rahane into his plans in Cape Town and Bhuvneshwar in Centurion. Rahane's counterattack at the other end was nothing short of sensational. Just like in Melbourne in 2014-15, Rahane was there by his captain when South Africa began to bowl better to him. A flurry of boundaries either side of Kohli's dismissal took him to 27 off 25 at one point.

Rahane drove on the up, waved off help when hit, ran like a gazelle, cut over the infield, and shepherded Bhuvneshwar. This must have been a bittersweet partnership for Kohli: on the one hand, it was swiftly taking the Test away from South Africa, but it was taking a dead rubber away after the duo at the crease had been left out of the last Test. After Rahane finally fell to a strangle down the leg side, Mohammed Shami swung his bat wildly, hitting the first six of the match, then the second, and taking India to an extremely comfortable position.

The 65 scheduled minutes of play in South Africa's innings didn't materialise as the umpires took the players off after Elgar was hit for the fourth time. The captains met the match referee but the future of the match remained unclear.

Scoreboard

INDIA 1ST INNINGS: 187

SOUTH AFRICA 1ST INNINGS: 194

INDIA 2ND INNINGS:

(OVERNIGHT: 49-1):

M Vijay b Rabada 25

P Patel c Markram b Philander 16

L Rahul c Du Plessis b Philander 16

C Pujara c Du Plessis b Morkel 1

V Kohli b Rabada 41

A Rahane c De Kock b Morkel 48

H Pandya c and b Rabada 4

B Kumar c De Kock b Morkel 33

M Shami c De Villiers b Ngidi 27

I Sharma not out 7

J Bumrah c Rabada b Philander 0

EXTRAS: (b5, lb12, w12) 29

TOTAL: (all out; 80.1 overs) 247

FOW: 1-17, 2-51, 3-57, 4-100, 5-134, 6-148, 7-203, 8-238, 9-240

BOWLING: Philander 21.1-5-61-3, Rabada 23-5-69-3 (1w), Morkel 21-6-47-3 (2w), Ngidi 12-2-38-1, Phehlukwayo 3-0-15-0 (1w)

SOUTH AFRICA 2ND INNINGS:

AK Markram c Patel b Shami 4

D Elgar not out 11

H Amla not out 2

EXTRAS: 0

TOTAL: (one wkt; 8.3 overs) 17

FOW: 1-5

BOWLING: B Kumar 4-0-8-0, M Shami 4-1-7-1, J Bumrah 0.3-0-2-0

TOSS: India

UMPIRES: Aleem Dar (PAK), Ian Gould (ENG)

TV UMPIRE: Michael Gough (ENG)

MATCH REFEREE: Andy Pycroft (ZIM)