India 307 and 35 for 3 (Pujara 11*, Ngidi 2-14) need another 252 runs to beat South Africa 335 (Markram 94, Amla 82, du Plessis 63) and 258 (de Villiers 80, Elgar 61, Shami 4-49, Bumrah 3-70)
Centurion: New fast bowling discovery Lungi Ngidi plunged India into deep trouble as they struggled in pursuit of a victory target of 287 on the fourth day of the second Test against South Africa at SuperSport Park on Tuesday.
India were 35 for three at the close, having lost both openers and the key wicket of captain Virat Kohli, trapped LBW by Ngidi, on a pitch with uneven bounce.
The hosts will head into the final day confident of picking up the seven wickets they need to wrap up an impressive victory in the three-match series, after a 72-run win in the first Test at Cape Town.
Completing the job on Wednesday would help banish the memories of the 3-0 loss in India in 2015-16 on spin-friendly pitches.
The unpredictability of the wicket contributed to the dismissal of Murali Vijay, who was bowled off an inside edge by a ball from Kagiso Rabada which cut back at him and kept low.
Debutant Ngidi, who came on as first change, took a wicket with his first ball of the innings when Lokesh Rahul played a loose forcing shot off the back foot and was caught at backward point.
Ngidi, 21, forced India's champion batsman Kohli, who scored 153 in the first innings, to play defensively before he scored his first runs with an edge for four which flew wide of third slip.
Kohli had scored five when he went back on his stumps to a ball which cut back sharply and struck him on the pad. Kohli sought a review of umpire Michael Gough's decision but replays showed the ball was crashing into the top of middle stump.
India had been reduced to 26 for three. Ngidi caused more damage when the left-handed Parthiv Patel was struck in the ribs and collapsed to the turf. Patel recovered and battled to five not out at the close.
Ngidi, playing in only his tenth first-class match, took two for 14 in six overs.
South Africa could have had a fourth wicket when Cheteshwar Pujara was beaten by a ball from Morne Morkel.
Wicketkeeper Quinton de Kock started to appeal but was not supported by Morkel or the slip fielders, but replays showed a faint edge.
The slowness and uneven bounce of the pitch made for slow going as South Africa ground out 258 in their second innings.
There was some bright batting early in the day when AB de Villiers and Elgar added 54 runs in the first hour, taking their third-wicket partnership to 141.
But De Villiers was caught behind for 80, made off 121 balls, and Elgar followed soon afterwards.
Mohammed Shami dismissed both batsmen and finished with four for 49, taking three wickets in four overs before lunch.
South African captain Faf du Plessis and Vernon Philander put on a painstaking 46 in 26 overs to ensure India would have to chase more than 250. Du Plessis was ninth out for 48 off 141 balls.