- Scorecard
India are closing in on a famous victory at the Wanderers after South Africa went to stumps at 138 for two, with the hosts needing another 320 runs in their bid to chase down a world-record victory target of 458.
South Africa's best hope looks to be to save the game, with Alviro Petersen (76) and Faf du Plessis (10) to resume on the fifth morning, the latter promoted in the order to rest Jacques Kallis, who had bowled more than his usual quota of overs in India's second innings in Johannesburg.
Graeme Smith (44) put on an entertaining 108-run opening stand with Petersen in South Africa's second innings before he was run out attempting a quick single, while Hashim Amla (four) was bowled leaving a delivery that crashed into his stumps for the second time in the match.
In Amla's defence, the ball from Mohammed Shami was pitched short but never got above stump height, with the batsman ducking as the delivery whizzed past his face and into the wickets.
It is a sign of the variable bounce in the pitch that makes it difficult for the batsmen to trust their judgment and stacks the cards in India's favour going into the final day.
"You are never in on this kind of wicket, so you have to choose the right balls and you need to be in the right zone to actually put those boundary balls away," Indian batsman Virat Kohli said.
Du Plessis batted for seven hours and faced 376 balls in scoring a century on debut against Australia to save the game for the Proteas in November last year, and they will be hoping for similar spirit here to ensure they go into the second match of the two-Test series in Durban starting on December 26 all square.
"We have to bat long, the confidence is there that we can do it," South Africa assistant coach Adrian Birrell said.
"We have done it before and it is really about drawing on the belief that matters. There is quality in the changeroom and you look around and you get confidence from the guys sitting around you.
"Our past experiences are very important to us and they give us the belief that we can pull off a draw, or even a win, we are not out of it yet. There is something there for the bowlers and some uneven bounce just outside off stump, but the runs are there, you can score off (the wicket)."
HISTORY MADE
There was history made late in the day when Mahendra Singh Dhoni brought himself on to bowl two overs, making this the first Test in which both wicketkeepers have taken the ball after AB de Villiers did likewise in India's second innings.
South Africa had earlier toiled hard in the field a bowler short, with Morne Morkel's ankle ligament injury meaning he did not feature. They dismissed India for 421 in their second innings as Cheteshwar Pujara top-scored with 153.
Kohli missed out on the chance to become just the fourth Indian batsman to score a century in each innings of a Test when he was out for 96.
Had he added the four extra runs, he would have joined Vijay Hazare, Sunil Gavaskar and Rahul Dravid on the list of those who have achieved the feat.
Kohli was angry with himself at the manner of his dismissal, but the shot was on as he sought to cut an innocuous delivery from off-spinner JP Duminy to the point boundary, but instead nicked a thin edge to wicketkeeper de Villiers.
"I was very patient this morning, but unfortunately the ball just bounced a bit more. I tried to keep it down, but it took the edge," Kohli said. "But at the end of the day it is all about getting the team into a good position, and I think we are in a great position."
Vernon Philander continued his fine match as he took three for 68, while Kallis, called into action more than usual due to Morkel's injury, did not disappoint as he claimed identical figures.
Image: Virat Kohli (right) with Cheteshwar Pujara
Photograph: Duif du Toit/Gallo Images
Wanderers Test PHOTOS: Exciting finish on the cards
Morkel's injury was a huge loss: Philander
Stats: Pujara first Indian to post three hundreds in 2013
No truth in 'rumours' of Smith resigning as captain
Wanderers Test PHOTOS: Pujara, Kohli put India in command