Jakarta's Soekarno-Hatta Airport sits about 20 kilometers northwest of the city center — which sounds manageable until you factor in that the toll road connecting them is one of the most congested stretches of asphalt in Southeast Asia. I've done this run in 38 minutes at 6 AM on a Sunday and I've done it in 2 hours and 20 minutes on a Friday afternoon. Plan accordingly.

The good news: since the airport train came online and ride-hailing apps matured, you now have genuinely good options for every scenario. The bad news: the airport is still chaotic enough that making the wrong call — especially at peak hours or late at night — can cost you significant time and money. Let's break it down properly.

Option 1: Airport Train — Commuter Line Basoetta (Recommended)

This is the option I'd tell a colleague to take on a standard business trip, and it's the one I personally default to whenever I'm travelling with a carry-on and heading anywhere near Sudirman or Dukuh Atas. The Kereta Bandara (Airport Rail Link) launched in 2017 under the Railink brand; since 2023 it has been operated by KAI Commuter as the Commuter Line Basoetta, and it remains a genuine game-changer for CGK transit.

How to board from baggage claim

  1. Collect your bags from baggage claim in any terminal.
  2. Take the free Skytrain (Kalayang) to the "Airport Train Station" stop — the railway station is a separate building between Terminals 1 and 2, not inside any terminal. The Skytrain runs roughly every 5 minutes and takes only 7 minutes even end-to-end from Terminal 1 to Terminal 3.
  3. Follow the "Kereta Bandara / Airport Train" signs from the Skytrain platform into the station.
  4. Buy tickets from the self-service vending machines, online at reservation.kci.id, or in the Access by KAI app — the station is cashless, so have a card ready. Contactless bank cards and e-money cards (Flazz, Brizzi) also tap directly at the gates.
  5. Trains depart every 30 minutes. Check the departure board and plan to be at the platform at least 10 minutes before departure.

Route and pricing

The Basoetta train runs from the airport to Manggarai Station, stopping at Batu Ceper, Rawa Buaya, Duri, and BNI City along the way. The fare to the Central Jakarta stations (Duri, BNI City, Manggarai) is IDR 70,000; the short hops to Batu Ceper or Rawa Buaya cost IDR 35,000. From BNI City you can walk to Sudirman Station and the Dukuh Atas MRT; Manggarai is the KRL Commuter Line's main interchange, connecting to virtually anywhere in the Jabodetabek rail network for an additional IDR 3,000–5,000.

Journey time is about 46 minutes to BNI City and 56 minutes to Manggarai. The train runs on a dedicated track, which means it's almost entirely immune to road traffic — a huge deal in Jakarta.

⚙️ Ops Tip — Budget for the Skytrain Hop

The train station is not in your terminal — every passenger has to ride the Skytrain to reach it. The Skytrain itself is quick (every ~5 minutes, 7 minutes end-to-end), but add the walk from baggage claim to the Skytrain shelter and the walk into the rail station, and you should allow 15–20 minutes from bags-in-hand to the platform. Trains run only every 30 minutes, so cutting it fine means standing around for the next departure. With a 20kg bag, that wait feels a lot longer than it should.

✓ Pros

  • Fixed price — no surge, no negotiation
  • Completely traffic-independent
  • Clean, air-conditioned, reliable
  • Easy KRL and MRT connections at BNI City and Manggarai

✗ Cons

  • Station stops only — you may need a short Grab onward to your hotel
  • Last train from the airport ~22:40; first ~06:10
  • Tricky with multiple large bags
  • Every terminal requires the Skytrain hop to the rail station first

Option 2: Damri Airport Bus

The Damri bus used to be the cheapest way out of CGK — its fares have since crept above the train's, but it's still a perfectly viable option, especially if a route stops near your hotel. You just need to go in with realistic expectations: this is a city bus on a highway, and "city bus on a Jakarta highway" tells you everything you need to know about the time variability.

Routes and stops

Damri operates several routes from CGK to different parts of Jakarta. The most relevant for Central Jakarta travelers are:

Buses depart from outside the arrivals hall of each terminal. Look for the Damri counters — buy your ticket there (or in the DAMRI app) before boarding; since 2025 you'll be asked for your name and passport/ID number for the manifest. Don't pay anyone on the bus; all legitimate Damri tickets are sold at the ground-level counter, not by touts.

Honest timing

Budget 60–90 minutes on a good day, and a full 2 hours during peak hours (07:00–09:30 and 16:30–20:00 on weekdays). If you're arriving on a Friday evening, I'd strongly suggest the train instead. The bus is best for weekend mornings or late evenings when the toll road is relatively clear.

✓ Pros

  • Still cheap, and no Skytrain transfer needed to board
  • No app or smartphone required
  • Drops you closer to some Central Jakarta zones than the train

✗ Cons

  • Highly traffic-dependent
  • Less frequent departures than you'd like
  • Can be crowded with luggage
  • Fixed route stops — may require another taxi onward
🛡️

Don't Land in Jakarta Uninsured

Medical care in Indonesia varies wildly. A motorbike incident or a bad case of food poisoning can spiral into thousands of dollars in evacuation costs. SafetyWing's Nomad Insurance covers you from as little as $1.87/day — including emergency medical evacuation — and you can buy it after you've already left home.

Get a Quote from SafetyWing →

Affiliate link — we may earn a small commission at no extra cost to you. We only recommend products we've reviewed and trust.

Option 3: Grab or Gojek (Ride-Hailing)

Grab and Gojek are the lifeblood of getting around Indonesia, and for good reason — they're transparent, metered, and safe. From CGK, both apps work well with one important caveat: you cannot be picked up at the terminal kerb. The airport authority has restricted ride-hailing to designated zones, and this catches a lot of first-timers off guard.

Where to get picked up

Pricing and timing

A GrabCar from CGK to the Sudirman / Thamrin corridor runs IDR 150,000–230,000 during normal hours. During peak hours or surge pricing, this can jump to IDR 280,000–350,000. GrabCar Sewa (hourly charter) can sometimes be better value for trips with lots of luggage and multiple stops — price it out in the app first.

Off-peak (late evening, early morning weekdays), expect 45–60 minutes. Rush hour adds 30–60 minutes easily. Friday afternoons are the worst — I've sat on the Sedyatmo toll road for 90 minutes going nowhere.

⚙️ Ops Tip — The Surge Pricing Window

Surge pricing on Grab and Gojek peaks in the 30 minutes immediately after each international flight lands — roughly when a hundred passengers all open the app simultaneously. If your schedule allows, wait 20–25 minutes at the arrivals hall, grab a coffee, and let the surge clear. I've saved IDR 80,000–100,000 doing exactly this. Check both Grab and Gojek — they don't surge simultaneously, and the cheaper one varies by time of day.

✓ Pros

  • Door-to-door to your hotel
  • Price known before you get in
  • Driver rated and tracked
  • Best option for groups splitting the cost

✗ Cons

  • Surge pricing during peak times
  • Walk required to pickup zone
  • Fully traffic-dependent
  • Requires working local data — get an eSIM before you land
⚙️ Ops Tip — Get Your eSIM Before You Land

Grab and Gojek are essentially useless without mobile data, and airport SIM card lines can take 20–30 minutes. Buy an Indonesia eSIM before you fly — Airalo, Holafly, and Simify all offer solid coverage. A 7-day Indonesia eSIM with 5GB costs around USD 5–8. Activate it on the plane and you'll be booking your Grab before you even reach baggage claim.

Option 4: Blue Bird Metered Taxi

Blue Bird is Indonesia's most reputable taxi company and the one you should always default to if you're not using a ride-hailing app. Their drivers use the meter without argument, the cars are maintained, and the company has a legitimate complaints process. The sky-blue livery is distinctive — if someone approaches you in arrivals claiming to be Blue Bird without the blue color, they're not.

How to get a legitimate Blue Bird

Do not accept offers from anyone inside the terminal or in the arrivals hall. Walk out to the official taxi rank on the ground floor outside arrivals. There will be a Blue Bird counter or a queue system — join it. You'll be assigned a car with a printed receipt showing the driver's ID. This takes 5–10 minutes but is completely safe.

Metered fares from CGK to Central Jakarta typically run IDR 200,000–300,000 all-in — Blue Bird's flagfall is IDR 8,500 plus IDR 5,400/km, and on top of the meter you pay the toll road fees (roughly IDR 20,000–30,000 depending on route) and a IDR 10,000 airport surcharge. Blue Bird also publishes fixed zone fares from the airport — around IDR 250,000 to central areas like Kebon Sirih, tolls included. Tip is not mandatory but rounding up is appreciated.

✓ Pros

  • No smartphone or data required
  • Completely reliable and safe
  • Good fallback for late nights
  • Can pay cash easily

✗ Cons

  • More expensive than Grab during off-peak hours
  • No upfront price — meter + tolls can surprise
  • Same traffic constraints as all road options

Option 5: Pre-Booked Private Transfer

If you're arriving with family, heavy luggage, or on a company trip where time is money, a pre-booked private transfer is worth every rupiah of the premium. These are typically 4–7 seat vehicles, the driver meets you with a name sign in arrivals, and there's zero faff with apps, queues, or surge pricing.

Rates run IDR 350,000–600,000 (USD 22–38) depending on vehicle class and operator. Book through your hotel, or through platforms like Klook, Viator, or direct airport transfer services. Always confirm the pickup point in advance — most reputable operators will meet you in the arrivals hall itself, not at the kerb.

Should I Take a Taxi or Grab/Gojek from CGK?

This is one of the most-searched questions for this route — and the answer isn't always obvious. Here's how to decide.

Rideshare apps generally win on price transparency: you see the fare before you commit. Traditional taxis can be cheaper when there's no surge pricing, but the metered fare is harder to predict. The decision usually comes down to three factors: time of day, luggage, and your comfort with the local taxi culture.

At most major airports, rideshare is the safer default for international travelers — the app handles the language barrier, the pricing is locked in advance, and the driver rating system keeps quality high. Use a metered taxi when the rideshare queue is unreasonably long or surge pricing has pushed the app fare significantly above the expected metered rate.

Late Night and Early Morning: What Works After 22:00

🌙 Arriving After 22:00 or Before 05:00?

The last airport train leaves around 22:40, and Damri departures thin out through the evening (final buses leave the airport between roughly 19:30 and 23:00 depending on route). Your realistic options at this hour are:

Note: The airport has a 24-hour food court on the arrivals level if you need to kill time, charge a phone, or wait for surge pricing to drop.