GoAsia
How to Get from Batam to Jakarta

How to Get from Batam to Jakarta

Last updated: October 20, 2026
Contents

Batam to Jakarta is one of Indonesia's most practical island to capital journeys. Batam sits in the Riau Islands close to Singapore and Malaysia, while Jakarta is the country's political, business, and transport center on Java. The trip crosses water, so the useful long distance option for most travelers is the flight.

Train, Bus, Flight and Ferry tickets

Booking and payment are handled by 12Go, not GoAsia. We may receive a commission when you book through our links.

Soekarno-Hatta International Airport (CGK), the main airport for Jakarta, is located in Tangerang, which is why booking platforms list this route as Batam to Tangerang. Flights depart from Hang Nadim International Airport (BTH) in Batam. After landing at CGK you continue by rail, bus, taxi, or ride-hailing to the part of Jakarta you need. You can compare flights on GoAsia.cc, then confirm airline, terminal, and baggage details on your ticket.

Batam to Tangerang by Flight

Direct flights from Batam to Jakarta take about 1 hour 35 minutes to 1 hour 38 minutes, with departures from about 07:00 to 21:00 (October 2026).[1] Fares depend on the airline, the date, and baggage, so check the airline's own site before you book.

Departure: Hang Nadim Airport

Hang Nadim International Airport is on Jl. Hang Nadim in Batam, and it is open 24 hours with a domestic terminal.[2] Leave enough time to reach the airport from Batam Center, Nagoya, Sekupang, Nongsa, or your resort area. Low fare Economy tickets may be fine if you travel light, but check the cabin bag weight and any checked baggage allowance before you leave for the airport.

Arrival: Soekarno-Hatta Airport

Terminal assignments at CGK depend on the airline. Citilink, for example, has moved all its domestic flights at CGK to Terminal 1B since 15 March 2025,[3] so check the terminal on your ticket.

If you are going into the city, the airport rail link is an option. KAI Commuter's Basoeta Commuter Line runs from the airport station via Duri and Sudirman Baru to Manggarai, with 62 daily trips; the fare to Duri, BNI City and Manggarai was Rp 70,000 in November 2024.[4] Trains run between about 05:00 and 23:37.[5] Taxis or ride-hailing can be easier with luggage or a group. Jakarta traffic is the biggest variable after arrival, so a late afternoon landing can feel very different from a midday arrival. If you have a meeting, appointment, or onward connection, choose an earlier departure from Batam.

For international travelers coming from Singapore via Batam, make sure your documents and timing line up. A ferry to Batam plus a flight to Jakarta adds port formalities, local transfer time, airport check-in, and Jakarta arrival transport. Keep your passport and boarding pass easy to reach until you are fully checked in.

Comparing Your Options

ModePrice (USD)DurationComfort
FlightVaries by airline and date1 hour 35 minutes to 1 hour 38 minutes[1]Economy

Tips for Traveling from Batam to Jakarta

  • Remember the airport is in Tangerang. The flight gets you to Soekarno-Hatta, then you still need to continue to your Jakarta neighborhood.
  • Check your terminal. CGK terminal assignments vary by airline, and pickups, buses, trains, and transfers depend on the terminal.
  • Watch baggage rules. Economy fares can differ, especially on low fare tickets.
  • Allow time after landing. Baggage reclaim, terminal movement, and city traffic are not included in the flight time.

Timetable

Flight Batam - Tangerang $ 42.97–163.26 1h 35m – 1days 1h 38m
  • →  Economy 07:00, 07:40, 08:00, 08:35, 09:50, 09:55, 10:40, 11:00, 12:05, 12:35, 13:30, 14:10, 14:45, 15:55, 16:05, 16:20, 16:35, 17:25, 17:30, 17:40, 17:45, 18:55, 19:10, 19:50, 21:05

Frequently Asked Questions

How can I book tickets from Batam to Jakarta?

Use the booking tool on this page to compare the transport options currently available from Batam to Jakarta, including current prices and schedules.

How do I get from Batam to Jakarta?

Fly from Hang Nadim International Airport (BTH) in Batam to Soekarno-Hatta International Airport (CGK), which serves Jakarta from Tangerang. Direct flights take about 1 hour 35 minutes.

How much is the Batam to Jakarta flight?

Fares depend on the airline, date and baggage. Compare them on the airline's own site or on GoAsia.cc before you book.

How long does the Batam to Jakarta flight take?

Direct flights take about 1 hour 35 minutes to 1 hour 38 minutes.

Why does the route say Tangerang?

Soekarno-Hatta International Airport serves Jakarta but is located in Tangerang, so booking platforms list the flight as ending there.

Which airport do flights use in Batam?

Flights use Hang Nadim International Airport (BTH) in Batam.

Does the flight time include travel into Jakarta city?

No. The flight time covers the flight only. Add time for baggage, terminal movement, and onward transport from Soekarno-Hatta.

Sources and background

Numbers in the text such as [1] refer to these sources.

  1. [1] 12Go: Batam - Jakarta (Tangerang) timetable. Retrieved October 17, 2026.
  2. [4] KAI Commuter: Mudah dan Praktis, Begini Cara Naik Commuter Line Basoetta. Retrieved October 15, 2026.
  3. [5] KAI Commuter: Jadwal Commuter Line Basoeta, rute Bandara Soekarno-Hatta - Duri - Manggarai. Retrieved October 15, 2026.

Guide prices and journey times are indicative, not live quotes. A booked package may include transfers and waiting time as well as the main journey. Check the selected offer, pickup point and current conditions before booking.