Cheapest Way from Jakarta to Bali: 5 Honest Options Ranked by Price
✅ Last verified on-the-ground: 2026-07-17
The cheapest Jakarta to Bali route is the bus+ferry combo via Surabaya and Banyuwangi. The fastest cheap option is a budget flight on Citilink or Lion Air. Pick the bus+ferry to save money; pick the flight for speed. See our how to plan a Bali trip from India guide and Southeast Asia backpacking hub for more.
FX reference: 1 USD = ₹96.33, and 1 INR ≈ 189 IDR at the rates used in this article.
Quick Answers
| What | Answer | Price (INR) |
|---|---|---|
| Cheapest option overall | Bus + ferry via Surabaya/Banyuwangi | ₹2,800 (~$29.02) to ₹4,200 (~$43.53) |
| Fastest cheap option | Budget flight (Citilink / Lion Air) | ₹2,500 (~$25.91) to ₹5,000 (~$51.82) |
| Most adventurous option | Train to Banyuwangi + ferry to Gilimanuk | ₹3,500 (~$36.28) to ₹5,500 (~$57.01) |
| Total distance (Jakarta to Denpasar) | About 1,200 km | — |
| Visa on arrival for Indians | ₹3,374 (~35 USD) + Bali tourism levy | see Visa section |
Subodh’s Pro Tip: Book the Banyuwangi to Gilimanuk ferry on 12go 24-48 hours ahead in peak season (June-September). Walk-up works off-season, but the morning ferries fill by 7am.
Option 1: Budget Flight (Citilink / Lion Air / AirAsia)
This is the option most Indian backpackers end up taking, even the ones who swear they’ll do it overland. A 1.5-hour flight from Soekarno-Hatta (CGK) or Halim (HLP) to Ngurah Rai (DPS) on a low-cost carrier beats 20+ hours of buses every time once you’ve done the math including food and a hostel night.
- Price: ₹1,340 (~250,000 IDR or ~$13.89) to ₹2,679 (~500,000 IDR or ~$27.79) one-way, booked 2-3 weeks out. Add ₹536-₹804 (~100,000-150,000 IDR or ~$5.56-$8.34) for a checked bag if you have one.
- Total journey time: 2.5 to 4 hours door-to-door (count airport transfers).
- Comfort: Standard low-cost airline seat. Tight, but fine for the distance.
- Best for: Anyone who values their sleep, has 7 days or less in Indonesia, or is connecting through Bali to the Gilis.
Booking notes for Indians: Book through Traveloka (Indonesian aggregator, accepts Indian cards), the airline app, or Skyscanner. Citilink and Lion Air often show up at ₹1,340 (~250,000 IDR or ~$13.89) midweek if you check 2-3 weeks ahead. AirAsia flies from Kuala Lumpur cheaply if you’re already in Malaysia, but from Jakarta the local carriers win on price.
The hidden cost nobody mentions: A taxi from DPS airport to Kuta runs ₹804-₹1,607 (~150,000-300,000 IDR or ~$8.34-$16.67), and the official airport taxi counters have a fixed-price monopoly. Grab works in some parts of Bali but the airport pickup zone is restricted. Budget another ₹1,072 (~200,000 IDR or ~$11.12) for the transfer or take the Damri bus for ₹375 (~70,000 IDR or ~$3.89) if your hostel is near Kuta.
| Pros | Cons |
|---|---|
| 1.5 hours vs 20+ hours overland | Baggage fees add up fast |
| Multiple daily departures | DPS airport transfer is a separate headache |
| Bookable on Indian credit cards via Traveloka | Weather delays during Dec-Feb rainy season |
| Arrives rested, not destroyed | Carbon footprint is the worst of any option |
Option 2: Bus + Ferry via Surabaya (The Classic Shoestring)
This is the route every “I did Indonesia for ₹X a day” YouTube video is built on. Jakarta to Surabaya overnight bus (12 hours), Surabaya to Banyuwangi morning bus (7-8 hours), Banyuwangi to Gilimanuk ferry (45 minutes), Gilimanuk to Denpasar local bus (4-5 hours). For a fuller multi-stop route that fits this overland segment into a wider Indonesia loop, see our Indonesia 2-week itinerary for Indian backpackers. Total: 24-30 hours if everything connects.
- Price: ₹1,340 (~250,000 IDR or ~$13.89) to ₹2,143 (~400,000 IDR or ~$22.23) total for all three bus legs + ferry. Add ₹268 (~50,000 IDR or ~$2.78) per ferry if you want a “VIP” cabin.
- Total journey time: 24 to 30 hours door-to-door.
- Comfort: Overnight executive buses are recliner-seat, decent for the price. Day buses are harder. Bring a neck pillow.
- Best for: Backpackers with 2+ weeks in Indonesia who want the overland experience and the lowest possible spend.
Operator notes: Purnayasa, Gunung Harta, and Sinar Jaya run the Jakarta-Surabaya overnight executive buses. Book through 12go, BusBudi, or directly at Pulo Gebang terminal (Jakarta’s main east-bound bus terminal, not Kalideres). Tickets bought 24 hours ahead are usually fine; same-day is risky on Friday nights.
The Surabaya-Banyuwangi leg is run by local companies and the buses are older. Some travellers report aggressive AC. Bring a hoodie. The Banyuwangi-Gilimanuk ferry is walk-up, cash only, ₹134-₹214 (~25,000-40,000 IDR or ~$1.39-$2.22) for passengers and a separate fee for luggage/bikes.
The catch: This route is cheap on paper but you’ll spend ₹268-₹536 (~50,000-100,000 IDR or ~$2.78-$5.56) on food and water over 24 hours. You’ll also lose one full day to travel. If your time in Indonesia is limited, the saving disappears.
| Pros | Cons |
|---|---|
| Lowest total cash outlay | 24-30 hours is a full day gone |
| See Java’s east coast (Mount Bromo area is a side detour) | Multiple connections, multiple failure points |
| No baggage fees on buses | Overnight buses mean real sleep loss |
| Indonesian travel experience in the raw | Ferry queues can blow up on weekends |
Option 3: Overnight Train to Banyuwangi + Ferry (The Smart Middle)
This route is often recommended by overland travellers who want the same overland feel with proper sleep, though it costs more than the bus option. PT KAI runs overnight trains from Jakarta (Gambir station) to Banyuwangi via Surabaya, and you wake up in east Java ready for the short ferry hop.
- Price: ₹1,340 (~250,000 IDR or ~$13.89) to ₹2,411 (~450,000 IDR or ~$25.01) for an executive sleeper seat (the cheapest class that lets you sleep). Ferry adds another ₹134-₹214 (~25,000-40,000 IDR or ~$1.39-$2.22).
- Total journey time: 18 to 22 hours, including the ferry and the final bus to Denpasar.
- Comfort: better than buses. Sleeper seats recline, AC works, restrooms stay clean. The Argo Lawu, Argo Wilis, and Mutiara Timur are the common services.
- Best for: Travellers who want a real bed-ish seat, are okay with a long but manageable journey, and have 10+ days in Indonesia.
Booking tips: Book direct on the PT KAI app (KAI Access) 7-14 days ahead, or through 12go. Avoid third-party agents at Gambir station; they add a ₹134-₹268 (~25,000-50,000 IDR or ~$1.39-$2.78) service fee for the same seat.
The ferry from Banyuwangi to Gilimanuk runs every 30-45 minutes, 24 hours. After Gilimanuk, take a direct minibus to Denpasar (the Perama tourist shuttle or any bemo heading to Ubung terminal in Denpasar, then a short angkot to your final stop).
| Pros | Cons |
|---|---|
| You sleep | Executive sleeper sells out on weekends |
| Single booking, fewer connections than buses | Still 18-22 hours total |
| Same cheap end result as buses | Train station transfers in Jakarta add 1-2 hours |
| Ferry is included in the rhythm | Final Denpasar leg is the slow part |
Option 4: Shared Minivan + Ferry (The Flexible Pickup)
Travel agencies in Jakarta (especially around Blok M and Jalan Jaksa) sell “door-to-door” minivan packages to Denpasar. They bundle the Jakarta-Surabaya-Banyuwangi drive, the ferry crossing, and the Gilimanuk-Denpasar leg into one ticket. You get picked up at your hostel and dropped at another in Bali.
- Price: ₹1,875 (~350,000 IDR or ~$19.45) to ₹3,215 (~600,000 IDR or ~$33.35) all-in, depending on operator and how many stops.
- Total journey time: 22 to 26 hours. Slower than the train because minivans stop for every passenger pickup.
- Comfort: Hit or miss. Reputable operators (Perama, Wafour, Cipaganti) are fine. Cheap operators cram 9 people into an 8-seat van and skip the ferry queue by bribing.
- Best for: Travellers who don’t want to plan connections themselves and are willing to pay a premium for the convenience.
Warning: The bottom of this market is rough. Some minivans leave late, drop you at random Denpasar hotels you didn’t ask for, and pressure you into tours. Book through your hostel’s front desk (they know the reputable operators) or through Perama directly.
| Pros | Cons |
|---|---|
| Door-to-door, no station transfers | Bottom-tier operators are unreliable |
| One booking, one payment | Slower than trains and flights |
| Easier with oversized luggage | Limited daily departures |
| Can stop at Mount Bromo en route (extra day) | Hard to verify operator quality before paying |
Option 5: Local Angkot + Public Ferries (The True Shoestring)
This is the “I’m doing Indonesia on less than anyone else I know” option. You piece together local angkots (minibuses), economy-class trains, and walk-on ferries yourself, with no tourist bookings.
- Price: ₹1,072 (~200,000 IDR or ~$11.12) to ₹1,607 (~300,000 IDR or ~$16.67) total. Yes, really.
- Total journey time: 30 to 40 hours. Realistically 2 days if you’re moving through quickly.
- Comfort: Economy train seats are upright and stiff. Angkots are cramped and stop constantly. Ferries are basic.
- Best for: Hardcore shoestringers, long-stayers, and people who already speak Bahasa Indonesia (want to learn fast).
Reality check: You’ll save maybe ₹536-₹804 (~100,000-150,000 IDR or ~$5.56-$8.34) versus the bus+ferry option, which is ₹530-₹795 (~$5.49-$8.24). You trade 6-12 extra hours of travel for that saving. That’s a poor trade for almost every backpacker, including most people reading this.
You can drop the cost further by avoiding all tourist bookings and using only local transport, but this is the kind of “I saved ₹500 (~$5.18) by losing two days” math that looks clever on a blog and feels awful in practice. Worth knowing it exists. Not worth recommending as default.
| Pros | Cons |
|---|---|
| Lowest possible spend | 30-40 hours is two days gone |
| Full immersion in local transport culture | Bahasa Indonesia helps a lot |
| No advance booking required | Connection mistakes are common |
| Maximum flexibility | Comfort level is genuinely rough |
Cost Comparison in ₹
These numbers convert from IDR using the 2026-07-17 FX reference (1 INR ≈ 189 IDR).
| Expense | Option 1: Flight | Option 2: Bus+Ferry | Option 3: Train+Ferry | Option 4: Minivan | Option 5: Angkot |
|---|---|---|---|---|---|
| Main fare | ₹1,340-₹2,679 (~250,000-500,000 IDR or ~$13.89-$27.79) | ₹1,340-₹2,143 (~250,000-400,000 IDR or ~$13.89-$22.23) | ₹1,340-₹2,411 (~250,000-450,000 IDR or ~$13.89-$25.01) | ₹1,875-₹3,215 (~350,000-600,000 IDR or ~$19.45-$33.35) | ₹1,072-₹1,607 (~200,000-300,000 IDR or ~$11.12-$16.67) |
| Ferry (if separate) | n/a | ₹134-₹214 (~25,000-40,000 IDR or ~$1.39-$2.22) | ₹134-₹214 (~25,000-40,000 IDR or ~$1.39-$2.22) | included | ₹134-₹214 (~25,000-40,000 IDR or ~$1.39-$2.22) |
| Airport/terminal transfer | ₹804-₹1,607 (~150,000-300,000 IDR or ~$8.34-$16.67) | ₹268-₹536 (~50,000-100,000 IDR or ~$2.78-$5.56) | ₹402-₹804 (~75,000-150,000 IDR or ~$4.17-$8.34) | included | ₹268-₹536 (~50,000-100,000 IDR or ~$2.78-$5.56) |
| Food on the road | ₹161-₹321 (~30,000-60,000 IDR or ~$1.67-$3.33) | ₹536-₹804 (~100,000-150,000 IDR or ~$5.56-$8.34) | ₹536-₹804 (~100,000-150,000 IDR or ~$5.56-$8.34) | ₹536-₹804 (~100,000-150,000 IDR or ~$5.56-$8.34) | ₹536-₹804 (~100,000-150,000 IDR or ~$5.56-$8.34) |
| Luggage storage (if split trip) | ₹161 (~30,000 IDR or ~$1.67) | n/a | n/a | n/a | n/a |
| Total (single traveller) | ₹2,500 (~$25.91) to ₹5,000 (~$51.82) | ₹2,800 (~$29.02) to ₹4,200 (~$43.53) | ₹3,500 (~$36.28) to ₹5,500 (~$57.01) | ₹2,500 (~$25.91) to ₹3,700 (~$38.35) | ₹2,000 (~$20.73) to ₹3,200 (~$33.17) |
The flight and the minivan package are similar in total cost when you include transfers. The bus+ferry wins on raw price once you accept the time cost. The train is the comfort sweet spot. The angkot route is genuinely cheapest but only by a thin margin.
Quick Comparison Table
| Factor | Budget Flight | Bus + Ferry | Train + Ferry |
|---|---|---|---|
| Total cost | ₹2,500-₹5,000 (~$25.91-$51.82) | ₹2,800-₹4,200 (~$29.02-$43.53) | ₹3,500-₹5,500 (~$36.28-$57.01) |
| Total time | 2.5-4 hours | 24-30 hours | 18-22 hours |
| Comfort | Good | Rough | Decent |
| Sleep quality | N/A (short trip) | Poor | Acceptable |
| Booking ease | Easy (Traveloka) | Easy (12go) | Easy (KAI Access) |
| Failure risk | Weather delays | Multiple connections | Sleeper sells out |
| Best for | Time-poor backpackers | Shoestring purists | Comfort-conscious overlanders |
Choose the Flight If…
- You’re in Indonesia for 7 days or less and every hour counts
- You’re connecting to the Gili Islands (fast boat from Padang Bai)
- You’ve already done an overnight Indonesian bus before and don’t need the badge
- You’re flying with a checked bag (buses and ferries handle luggage worse than airlines)
Choose Bus+Ferry If…
- You have 14+ days in Indonesia and want the cheapest possible route
- You want to stop at Mount Bromo on the way (the overland route passes near it)
- You don’t mind losing one full day to travel
- You want the classic backpacker story to tell later
Choose Train+Ferry If…
- You want the cheapest route that still lets you sleep
- You have 10+ days in Indonesia
- You want to avoid the worst of bus hell but still travel overland
- You’re okay with one slightly longer booking lead time
The Bananarchy Take
If this is your first time in Indonesia and you’re trying to decide between saving money and arriving sane, take the flight. The price gap between a ₹1,340 (~250,000 IDR or ~$13.89) Citilink ticket and the full bus+ferry grind is small once you count food, water, and one extra hostel night you’ll need after the bus. The flight is the smarter cheap, not the more expensive cheap.
If you have 14+ days and want the overland experience, take the train to Banyuwangi, not the bus. The sleeper seat is worth the small premium over an overnight bus, and you’ll arrive in Bali without the back pain that ruins the first two days.
The “true shoestring” angkot route exists, but the saving versus the bus option is only about ₹536-₹804 (~100,000-150,000 IDR or ~$5.56-$8.34). That’s ₹530-₹795 (~$5.49-$8.24) for 6-12 extra hours of travel. Almost nobody reading this should pick it.
For Bali itself once you arrive, our Bali transport guide for Indian travellers covers how to get around cheaply once you’re there, and our which side of Bali is best breakdown helps you pick a base.
Getting Connected
Indonesian SIMs are cheap and work well in Bali. Telkomsel is the most reliable network; buy a tourist SIM at the airport for ₹268-₹536 (~50,000-100,000 IDR or ~$2.78-$5.56) with 20-30 GB, valid 30 days. XL and Three (3) are cheaper but patchier in rural Bali.
If you’d rather skip the airport SIM queue, Get Nomad eSIM ships a profile to your phone before you fly and activates the moment you land.
Visa and Entry
Indian passport holders get a Visa on Arrival (VoA) at both Soekarno-Hatta (Jakarta) and Ngurah Rai (Bali) airports. Maximum stay is 30 days, extendable once at an immigration office for another 30 days. Cross-check current rates at the Indonesian immigration portal before you fly, since this can change without notice. For full details on the process and current rules, see our Indonesia e-visa guide for Indians and the Bali visa-free entry explainer.
Jakarta Stay Option
If you’re spending a night or two in Jakarta before heading to Bali, here’s where to look. All four are real hostels with current ratings from Hostelworld; prices use the canonical 2026 rates for Jakarta dorms.
| Hostel | Rating | Vibe | Book |
|---|---|---|---|
| Konko Hostel Jakarta | 9.24 | Top-rated, social, central | Check prices |
| The Packer Lodge | 8.58 | Traveller favourite, near Kota Tua | Check prices |
| My Capsule Jakarta - Batavia | 8.34 | Capsule-style, quiet, central | Check prices |
| Wonderloft Hostel Kota Tua Jakarta | 8.1 | Historic district, social common area | Check prices |
| If you’ve got half a day in Jakarta and the long layover is killing you, the Jakarta AQuarium Safari is near the airport and runs through in 2 hours. The Jakarta History Museum in Kota Tua is the better choice if you’re already staying in the old town. |
Subodh’s Take
The cheapest way from Jakarta to Bali is the bus+ferry at roughly ₹2,800-₹4,200 (~$29.02-$43.53), but the cheapest way that’s worth recommending is the train+ferry at ₹3,500-₹5,500 (~$36.28-$57.01). The flight is the cheapest fast option, and most Indian backpackers should just take it. The angkot route saves ₹500-₹1,000 (~$5.18-$10.36) over the bus and costs you 6-12 hours; almost nobody reading this should pick it.
Pick the bus if you’re doing the Bromo detour and have unlimited time. Pick the train if you’re overlanding but still want sleep. Pick the flight for everything else.
FAQ
Is there a direct train from Jakarta to Bali? No. Indonesia has no train connection across the Bali Strait. All overland routes end at Banyuwangi (Java), then ferry to Gilimanuk (Bali), then road to Denpasar.
How long does the bus from Jakarta to Bali take? 24 to 30 hours door-to-door on the bus+ferry route via Surabaya and Banyuwangi. The train cuts this to 18-22 hours. The flight takes 2.5-4 hours including transfers.
What is the cheapest way to get from Jakarta to Bali? The angkot+ferry local-transport route at around ₹1,072-₹1,607 (~200,000-300,000 IDR or ~$11.12-$16.67), but it takes 30-40 hours. The practical cheapest option most backpackers use is the bus+ferry via Surabaya at ₹1,340-₹2,143 (~250,000-400,000 IDR or ~$13.89-$22.23) total.
Can I book the Jakarta-Bali bus online? Yes. Use 12go for the train and bus legs, Traveloka for flights, and the KAI Access app for direct PT KAI train bookings. Walk-up works for the Banyuwangi-Gilimanuk ferry.
Do I need a visa to enter Bali from Jakarta by land? Yes. Indian passport holders get a Visa on Arrival (VoA) at Soekarno-Hatta (Jakarta) and Ngurah Rai (Bali) airports, payable at the airport for arrivals by air. There is no immigration checkpoint between Java and Bali for the ferry crossing. If you’re entering Indonesia fresh, you’ll pay the VoA at your airport of entry; if you’re already in Indonesia on a valid VoA, the overland route from Jakarta to Bali doesn’t trigger a new visa entry.
Is it safe to take the overnight bus in Indonesia? Travellers report the major executive bus operators (Purnayasa, Gunung Harta, Sinar Jaya) are fine. Keep your valuables in your daypack, not the under-bus luggage hold, and you’ll be okay. The trains are a notch safer in terms of personal security but slower on the road.
Should I book the ferry in advance? The Banyuwangi-Gilimanuk ferry runs 24/7 every 30-45 minutes. Walk-up is fine on weekdays and off-season. On weekends and in June-September, the morning ferries (6am-10am) queue up. Book on 12go for a guaranteed morning slot if you’re on a tight schedule.