"We hope for the best but we have to prepare for the worst," navy chief Admiral D.K. Joshi said in Mumbai.
The explosions in the submarine's torpedo compartment sent nearby sailors jumping into the sea in panic.
The accident is shaping up to be another embarrassment for India's military, which has been hit with a corruption scandal as it races to modernise its forces.
Because the submarine was docked, navy watchmen, rather than the normal crew, were on the submarine, Joshi said.
At least some weapons exploded in the near-simultaneous blasts.
Russian ship repair company Zvyozdochka said the blasts were unrelated to its repair work.
"According to the members of our warranty group, the vessel was functioning properly and had no technical faults at the time of the incident," an unidentified company representative said.
The Government has authorised the navy to have up to 24 conventional submarines, but it has only 14, including eight Russian Kilo-class and four German Type HDW209 boats.
Last year, India acquired a Russian Nerpa nuclear submarine on a 10-year lease, and it has also designed and built its own nuclear submarine. The navy activated the atomic reactor on that vessel at the weekend.
India has steadily built up its naval capabilities in recent years, spurred by rivalry with neighbouring China. But the country's military has encountered scandal as it bulks up.
In February, India put on hold a US$750 million ($930 million) deal to buy helicopters from the Italian aerospace and defence giant Finmeccanica and its British subsidiary, AgustaWestland, after charges of kickbacks and bribes.
Three of the 12 helicopters were delivered in December, and the rest have been put on hold.
- AP