Indian passport holders do require a visa to visit Vietnam, which includes Halong Bay. The visa must be obtained in advance from the Vietnamese embassy or consulate in India.