If you’ve ever stood at a check-in counter at Soekarno-Hatta with a carry-on and a one-way ticket to Ngurah Rai, you already know the feeling.
The Jakarta to Bali flight is one of the busiest domestic routes in all of Southeast Asia, and for good reason: Bali is less than two hours away and the contrast between the capital and the island is staggering.
One minute you’re in gridlock on the toll road, and a couple of hours later you’re watching rice fields blur past a taxi window in Kerobokan. If you’re planning this trip, the travel specialists at SatuSatu put together this guide to help you fly smart, save money, and hit the ground running once you land.
Which Airlines Fly from Jakarta to Bali?
The Jakarta to Bali route is served by a wide range of Indonesian carriers, from full-service airlines to budget options. Garuda Indonesia is the premium choice, offering comfortable seating, in-flight meals, and reliable punctuality on flights departing from Terminal 3 at Soekarno-Hatta.
For travelers watching their budget, Lion Air, Citilink, Batik Air, Super Air Jet, TransNusa, and Pelita Air all operate frequent daily services at significantly lower prices.
Indonesia AirAsia also operates this route and is particularly popular with travelers already familiar with the AirAsia network. For groups or families, comparing carry-on allowances and checked baggage fees between carriers matters a lot on this route, as budget airline base fares are often listed without baggage included.
How Long Is the Flight from Jakarta to Bali?
Direct flights from Jakarta (CGK) to Bali Ngurah Rai (DPS) take roughly 1 hour 45 minutes to just under 2 hours, depending on the carrier and conditions. There is also a 1-hour time difference to account for: Bali runs on Central Indonesia Time (WITA), which is one hour ahead of Western Indonesia Time (WIB) used in Jakarta.
This matters more than people realize, especially if you have an activity or transfer booked on arrival. Nearly all flights on this route are direct, so there is rarely any reason to book a connecting flight unless you are deliberately routing through another city.
Flights depart from both Terminal 2 (Garuda) and Terminal 3 (most other carriers) at Soekarno-Hatta International Airport, so confirm your terminal before heading to the airport.
How Much Does a Jakarta to Bali Flight Cost?
Prices on this route vary considerably based on how far in advance you book and the time of year.
On budget carriers, one-way fares can start from around IDR 400,000 to IDR 700,000 during off-peak periods, though fares often climb to IDR 1,200,000 or more during school holidays, long weekends, and peak travel months like July, August, and December.
Garuda Indonesia fares typically sit higher, often ranging from IDR 900,000 to IDR 2,000,000 one-way depending on class and timing.
Booking four to six weeks in advance tends to return the best fares, and flying on weekdays generally costs less than Friday or Sunday departures, which are extremely popular. February is widely noted as one of the cheapest months to fly this route.
What to Know About Arriving at Ngurah Rai International Airport

Ngurah Rai International Airport in Denpasar sits in the southern part of Bali and serves both domestic and international flights. Domestic arrivals have a separate terminal from international, and the process is quick since no immigration is required for Indonesian domestic travelers.
For international visitors arriving via connecting flights, the international terminal handles immigration and customs as normal. The airport is about 13 km from Seminyak, roughly 25 to 35 minutes under normal traffic conditions.
Getting to Canggu can take 35 to 50 minutes, and Ubud typically requires at least 60 to 90 minutes depending on traffic through Denpasar. Bali traffic is notoriously unpredictable, particularly in the afternoon and early evening, so factor buffer time into any onward plans.
Tips for a Smooth Jakarta to Bali Journey
Arrive at Soekarno-Hatta at least 90 minutes before domestic flights, and consider arriving 2 hours earlier during peak holiday periods when check-in queues at budget carriers can be significant. Online check-in is available with most carriers and saves considerable time at the airport.
Carry your most essential items in your hand luggage, as checked baggage occasionally gets delayed on the Bali route during peak periods.
A light jacket is useful in the cabin as Indonesian domestic flights can be quite cold, particularly on the full-service carriers. Once you land at Ngurah Rai, having your transport sorted in advance makes all the difference.
Explore Bali Further with SatuSatu
Landing in Bali is just the beginning, and SatuSatu makes everything that comes next easier.
SatuSatu is a Bali travel platform that brings together transport, cultural experiences, and curated activities in one place, all bookable directly on SatuSatu.com with support for local payment methods including BCA, Mandiri, OVO, DANA, credit cards, and more.
SatuSatu’s Airport Transfer takes the stress out of arrival entirely. Fixed pricing, same-day booking, and a driver waiting at Ngurah Rai means you step off the plane and into a comfortable car without negotiating or queuing at a taxi stand.
Once you’re ready to explore the island, SatuSatu’s Exclusive Car Charter gives you a dedicated local driver and full schedule flexibility, perfect for chasing sunsets in Uluwatu, morning markets in Ubud, or anything in between.
No Bali trip feels complete without a cultural evening, and the Kecak Fire Dance at Uluwatu delivers one of the island’s most iconic performances at sunset, with the cliff temple as the backdrop.

And if you want to do more across Bali without the hassle of planning each activity separately, the SatuSatu Bali All-Access Pass is the smartest way to stretch your trip further.
Choose from a 1-day pass at $59.95 (IDR 999K), a 2-day pass at $104.95 (IDR 1.799M), or a 3-day pass at $144.95 (IDR 2.499M), and unlock access to 50+ top Bali experiences spanning destinations across the island, from the Kecak Fire Dance at Uluwatu to snorkeling in Padang Bai and wellness and spa experiences across Bali.
Every pass includes a free eSIM and a dedicated Bali concierge to handle all the planning for you, saving you up to 60% compared to booking individually, with 90-day validity from purchase for maximum flexibility.
FAQ about Jakarta to Bali Flight
How long is the Jakarta to Bali flight?
Direct flights between Jakarta and Bali take approximately 1 hour 45 minutes to just under 2 hours. There are no significant layovers on this route as direct flights are the norm.
Which airport in Jakarta do flights to Bali depart from?
All commercial flights to Bali depart from Soekarno-Hatta International Airport (CGK), located in Tangerang. Garuda Indonesia operates from Terminal 2, while most other carriers use Terminal 3.
Is there a time difference between Jakarta and Bali?
Yes. Bali is one hour ahead of Jakarta. Jakarta follows Western Indonesia Time (WIB, UTC+7), while Bali follows Central Indonesia Time (WITA, UTC+8).
What is the cheapest airline for Jakarta to Bali?
Budget carriers such as Citilink, Lion Air, TransNusa, and Super Air Jet frequently offer the lowest fares on this route. Prices vary significantly by date and how far in advance you book.
Do I need to bring my passport for the Jakarta to Bali flight?
No. Jakarta to Bali is a domestic flight within Indonesia. Indonesian citizens and residents only need a valid national ID (KTP) for domestic travel. Foreign nationals should carry their passport as identification.