The city is served by Ngurah Rai International Airport, popularly known as the Denpasar International Airport. It is the third busiest and the best airport in Indonesia. Many international airlines serve this airport, such as Emirates, Dragonair, Cathay Pacific, Korean Air, Qatar Airways, Singapore Airlines, to name a few. There are many domestic airlines within Indonesia which will connect you with Bali. After you get your visa to Indonesia, determine your departure airport. Select a carrier of choice and book your ticket to the Ngurah Rai International Airport in Bali. There are several airline options at all the four major metro airports in India to get to Bali, which includes the Etihad Airways, Malaysia Airlines, Qantas Airways, Thai Airways and Singapore Air. Bali flights from Chennai and Cochin are often the cheapest. If you check with the Air Asia, you could get flights at very affordable prices if booked earlier. You can get your round trips done in INR 20,000 with one flight having a stop-over at Kuala Lumpur, which is the best way to reach Bali. Make sure you have your visa in hand before traveling as Indians need a visa to land in Kuala Lumpur. You can also consider taking multiple carriers that will cost you less when compared to round trips. However, multiple carriers have the risk of delays due to the late arrival of originating or connecting flights. However, if you take multiple carriers, you can land in Singapore instead of Malaysia to avoid the visa issues. So if you are traveling from India, you either halt at Kuala Lumpur and take a connecting flight or head over to Singapore with multiple carriers. The choice is yours. Another option is to fly to Bangkok and take a flight from there to Bali. If you are traveling from Kolkata, then choose to halt at Singapore as the flights from Kolkata to Singapore are reasonably priced. If budget is not an issue, then there are flights to Bali from all the four metropolitan cities. No matter where you choose to fly from, you need to keep in mind that you will be having a connecting flight to Bali with one stop. Other than this, there are other airports in Indonesia from Jakarta, Surabaya, Yogyakarta, Bandung, and Lombok that have direct flights to Bali at cheaper rates if you want to explore these places before you reach Bali.
Many of the cruise liners traversing through South-East Asia have a stop at Bali. If you wish to travel to Bali via the sea, then take a flight from Singapore, Sumatra or Java. From either of these places, you can book your ship and take an onward journey to Bali. However, it is not advisable and practical to travel to Bali by ship as the seas can turn rough leading to an unpleasant and avoidable experience. You can instead take a flight from the above-mentioned places to Bali without any hassle.
You cannot travel to Bali by bus or train. You need to land in one of the cities closer to Bali and take a ferry ride that plies between the towns. The most popular ferry ride is the one from Jakarta to Bali which is a tiring 23 hour-long journey. It is one of the most exhausting trips you can ever take, and it is not advisable to travel by bus. However, if you wish to take a train, you can catch one to Banyuwangi and switch to a ferry from here to Bali. From Jakarta, Yogyakarta or Bandung there are trains to Surabaya's Gubeng Station. From this station, you can take an air-conditioned train to Banyuwangi that will offer a ferry to Denpasar. As mentioned earlier, flights are the best way to reach Bali, and it would be better to avoid the roadways as, in addition to being tiresome, may also be risky. Duration of is above 24 hours, depending on availability. Approximate cost per person is INR 6000-7000.