Contents
Surabaya to Jakarta is one of Indonesia's busiest domestic air routes. Lion Air, Super Air Jet, Citilink, Batik Air and Pelita Air operate non-stop flights from Juanda International Airport (SUB) to Soekarno-Hatta International Airport (CGK).[1] Soekarno-Hatta is in Tangerang, west of central Jakarta.
Surabaya to Jakarta by Flight
A non-stop flight takes about 1 hour 30 minutes, and the lowest fare shown on AirAsia's route page was IDR 873,165 (October 2026). Sample fares for 21 October 2026 ran from about IDR 908,000 to IDR 1,000,000, with morning to evening departures between 06:30 and 17:35.[1] Baggage rules differ by airline and fare, so check what your ticket includes before you pay.
The flight time covers only the time in the air. Your travel day also includes the trip to Juanda airport, which is outside the center of Surabaya, check-in and security, baggage claim in Tangerang and the ride into Jakarta.
Arriving at Soekarno-Hatta and Continuing to Jakarta
Citilink domestic flights arrive at Terminal 1B;[2] other airlines can use other terminals, so check your booking. Many hotels, offices and stations in Jakarta are a long city transfer from the airport, and traffic can be heavy.
The airport train (Commuter Line Basoeta) runs between the airport and Manggarai via Batu Ceper, Duri and Sudirman Baru/BNI City, with services from about 05:00 to 23:37.[3] The fare from the airport to Duri, BNI City or Manggarai was Rp70,000 in November 2024, and tickets are sold through Access by KAI.[4] A taxi, ride-hailing car or hotel pickup is easier with luggage. If you continue on an international flight, check the terminal and leave a long buffer, especially on separate tickets.
Comparing Your Options
| Mode | Price | Duration | Notes |
|---|---|---|---|
| Flight | From about IDR 870,000 (October 2026)[1] | About 1 hour 30 minutes[1] | Non-stop flights by several airlines, with separate transfers at both airports |
Tips for Traveling from Surabaya to Jakarta
- Leave early for Juanda airport. The airport is outside the city center, and traffic varies by where you start.
- Compare baggage rules. The cheapest fares may not include checked baggage.
- Check your arrival terminal. It helps you choose the right pickup point or train connection.
- Allow a long buffer for connections. Separate domestic and international tickets should never be planned tightly.
Timetable
| Flight East Java - Tangerang $ 58.45–90.83 1h 30m – 1h 40m | |
|
Frequently Asked Questions
Use the booking tool on this page to compare the transport options currently available from Surabaya to Jakarta, including current prices and schedules.
Flying is the practical option. In October 2026 the lowest fare shown on AirAsia's route page was IDR 873,165, and sample fares for 21 October were about IDR 908,000 to IDR 1,000,000. Prices change with date and demand.
A non-stop flight, which takes about 1 hour 30 minutes.
About 1 hour 30 minutes in the air.
Lion Air, Super Air Jet, Citilink, Batik Air and Pelita Air operate non-stop flights.
No. Add time for the trip to Juanda airport, check-in, baggage claim and the ride from Soekarno-Hatta into the city.
It can work if you leave a generous buffer. Separate tickets need extra time for delays, baggage claim and terminal changes.
Sources and background
Numbers in the text such as [1] refer to these sources.
- [1] AirAsia: Cheap Flights from Surabaya to Jakarta. Retrieved October 15, 2026.
- [2] Citilink Indonesia: Terminal Information. Retrieved October 17, 2026.
- [3] KAI Commuter: Jadwal Commuter Line Basoeta, rute Bandara Soekarno-Hatta - Duri - Manggarai. Retrieved October 15, 2026.
- [4] KAI Commuter: Mudah dan Praktis, Begini Cara Naik Commuter Line Basoetta. 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.