South Africa were 74 for four at lunch in reply to India's 205 all out.
Khan claimed the wickets of Graeme Smith and Alviro Petersen before in-form Jacques Kallis and AB de Villiers were out in quick succession shortly before the break.
Khan missed the first Test at Centurion because of injury and watched from the sidelines as South Africa piled up 620 for four declared on the way to victory by an innings and 25 runs.
The left-arm swing bowler showed his value to India when he had South African captain Smith caught behind for nine and then bowled Petersen for 24.
Kallis, who made a maiden Test double century at Centurion, again looked in top form but he was run out for 10 while backing up when bowler Ishant Sharma deflected a drive by Hashim Amla onto the stumps.
De Villiers, fresh from South Africa's fastest Test century at Centurion, failed to score before a ball from Sree Sreesanth lifted off a good length and he gloved a catch to Indian captain and wicketkeeper Mahendra Singh Dhoni.
Amla, playing in his 50th Test match on his home ground, was unbeaten on 24 at lunch.
Earlier, fast bowlers Dale Steyn and Morne Morkel took two wickets apiece as India lost their last four wickets for 22 runs.
Steyn finished with figures of six for 50, his 15th haul of five or more wickets in Tests, while Morkel took two for 68.
Harbhajan Singh had an escape in the second over of the day when he was dropped by a diving Jacques Kallis at second slip. But he added only six runs to his overnight score before he was smartly held by De Villiers off Steyn at third slip.
Zaheer Khan was caught behind by Mark Boucher off Morkel, prompting Dhoni to go on the attack, hitting Steyn for four and six in one over. But Dhoni was caught on the cover boundary by Petersen off Steyn and was followed two balls later by Sreesanth who top-edged a wild slog against Morkel to be Boucher's fifth victim.
In contrast to the first day, when India were sent in to bat in heavily overcast conditions, play resumed in partly cloudy weather, with a brisk north-easterly breeze quickly pushing the clouds away.
http://www.sport24.co.za/Cricket/IndiaInSA/India-hit-back-in-Durban-20101227
Cricket101