The oil and chemical tanker MV Chem Pluto, sailing under the Liberian flag, was hit about 200 nautical miles off the mainland on Saturday.
The crew managed to extinguish a fire on board. There were no injuries or fatalities.
After the attack, the Indian coastguard escorted the tanker to the port of Mumbai.
The ship was carrying crude oil from Saudi Arabia to the southern Indian city of Mangaluru, according to the Indian Defence Ministry.
India relies heavily on Middle Eastern oil - although the country has increased its intake of Russian oil since the Ukraine conflict began.
According to the Indian news agency PTI, Indian Defence Minister Rajnath Singh said that an investigation is under way to determine responsibility for the attacks.
The US Department of Defence put the blame on Iran. However, the Foreign Ministry in Tehran rejected the accusation.
Since the outbreak of war in the Gaza Strip, an increasing number of ships in the Red Sea have been attacked by the Iranian-backed Houthi rebels in Yemen.
On Saturday, a high-ranking general of the Iranian Revolutionary Guards (IRGC) warned the United States and its allies that further international sea routes could be threatened.