Only Ashwell Prince, with 98 not out, stood firm as South Africa struggled to 257 for eight on a hot, humid day.
Dravid praised the "enthusiasm and energy" of his bowlers and said it was now up to the batsmen to hammer home their advantage.
"The key for us is to bat for long periods and keep them (South Africa) out in the hot sun for as long as possible," said Dravid.
Star batsman Sachin Tendulkar was off the field for the last two hours of play after damaging his right thumb in dropping a chance off Prince.
But Dravid said the injury was "only bruising" and that Tendulkar would be fit to bat on the second day.
Left-hander Prince shared stands of 94 with Herschelle Gibbs (63) and 100 with Mark Boucher (53) after South Africa lost their first three wickets for 28.
There was a second collapse when South Africa lost three wickets in the last two overs before bad light stopped play to undo much of the repair work.
Gibbs admitted: "We lost our way a little towards the end of the day."
But he felt South Africa were still in the game.
"There was lateral movement all day and we played and missed quite a lot. The wicket will quicken up in the next two days. If we can squeeze another 40 runs tomorrow the Indian batsmen will have their work cut out," said Gibbs.
Prince, out for 97 in a losing cause in the first Test in Johannesburg, was in sight of his fifth Test century when three wickets fell for one run shortly before play ended with 17 overs remaining to be bowled.
Prince, who batted for 276 minutes and faced 181 balls, had an escape on 41 when he edged VRV Singh low to Tendulkar at first slip.
Indian opening bowlers Zaheer Khan and Shanthakumaran Sreesanth took the first five wickets before Singh and leg-spinner Anil Kumble struck late in the day.
Khan took two for 61 and Sreesanth three for 74, while Kumble claimed two for 48.
South Africa were already weakened by the absence of star batsman Jacques Kallis because of a back injury.