Jakarta to Surabaya (CGK–SUB) — Airlines, Schedules & Connections

CGK Airport Page →
430 mi airlines 285/wk
On-time Some delays Frequent delays
Flight Schedule 80 flights Verified 13h ago
Nonstop 1-Stop 2-Stop Hide separate tickets Hide overnight
  Flight Airline AC Dep Arr Dur OTP Sched  
JT690
JT Lion
739
3:30 AM
WIB T1
5:00 AM
WIB
1h 30m
M T W T F S S
Prices
QG170
QG Citilink
320
5:20 AM
WIB T1B
7:00 AM
WIB
1h 40m
M T W T F S S
Prices
ID6572
ID Batik
32A
6:00 AM
WIB TT2
7:30 AM
WIB
1h 30m
M T W T F S S
Prices
EK3564
EK Emirates
32A
6:00 AM
WIB TT2
7:30 AM
WIB
1h 30m
M T W T F S S
Prices
QG724
QG Citilink
320
6:05 AM
WIB T1C
7:45 AM
WIB
1h 40m
M T W T F S S
Prices
EK7298
EK Emirates
738
6:50 AM
WIB T3
8:25 AM
WIB
1h 35m
M T W T F S S
Prices
CI9668
CI China
738
6:50 AM
WIB T3
8:25 AM
WIB
1h 35m
M T W T F S S
Prices
GA304
GA Garuda Indonesia
738
6:50 AM
WIB T3
8:25 AM
WIB
1h 35m
M T W T F S S
Prices
EY8177
EY Etihad
738
6:50 AM
WIB T3
8:25 AM
WIB
1h 35m
M T W T F S S
Prices
ID6584
ID Batik
32A
8:00 AM
WIB T2
9:30 AM
WIB
1h 30m
M T W T F S S
Prices
EY8138
EY Etihad
738
8:45 AM
WIB T3
10:25 AM
WIB
1h 40m
M T W T F S S
Prices
EK7275
EK Emirates
738
8:45 AM
WIB T3
10:25 AM
WIB
1h 40m
M T W T F S S
Prices
CI9782
CI China
738
8:45 AM
WIB T3
10:25 AM
WIB
1h 40m
M T W T F S S
Prices
GA322
GA Garuda Indonesia
738
8:45 AM
WIB T3
10:25 AM
WIB
1h 40m
M T W T F S S
Prices
JT241
JT Lion
739
9:00 AM
WIB TT1
10:25 AM
WIB
1h 25m
M T W T F S S
Prices
JT694
JT Lion
739
9:00 AM
WIB TT1
10:30 AM
WIB
1h 30m
M T W T F S S
Prices
QG718
QG Citilink
320
9:15 AM
WIB T1B
10:50 AM
WIB
1h 35m
M T W T F S S
Prices
QG716
QG Citilink
320
10:30 AM
WIB T1B
12:10 PM
WIB
1h 40m
M T W T F S S
Prices
QG736
QG Citilink
320
11:50 AM
WIB T1C
1:30 PM
WIB
1h 40m
M T W T F S S
Prices
ID6582
ID Batik
32A
12:00 PM
WIB TT2
1:02 PM
WIB
1h 2m
M T W T F S S
Prices
ID6899
ID Batik
738
12:00 PM
WIB TT2
1:30 PM
WIB
1h 30m
M T W T F S S
Prices
CI8604
CI China
738
12:05 PM
WIB T3
1:45 PM
WIB
1h 40m
M T W T F S S
Prices
GA312
GA Garuda Indonesia
738
12:05 PM
WIB T3
1:45 PM
WIB
1h 40m
M T W T F S S
Prices
ID6578
ID Batik
32A
12:59 PM
WIB TT2
1:59 PM
WIB
1h
M T W T F S S
Prices
ID6406
ID Batik
32A
1:30 PM
WIB T2
3:00 PM
WIB
1h 30m
M T W T F S S
Prices
ID6863
ID Batik
32A
1:30 PM
WIB TT2
3:00 PM
WIB
1h 30m
M T W T F S S
Prices
GA310
GA Garuda Indonesia
738
2:00 PM
WIB T3
3:35 PM
WIB
1h 35m
M T W T F S S
Prices
JT692
JT Lion
739
2:50 PM
WIB T1
4:20 PM
WIB
1h 30m
M T W T F S S
Prices
CI9774
CI China
738
4:00 PM
WIB T3
5:40 PM
WIB
1h 40m
M T W T F S S
Prices
EY7121
EY Etihad
738
4:10 PM
WIB T3
5:50 PM
WIB
1h 40m
M T W T F S S
Prices
GA320
GA Garuda Indonesia
738
4:10 PM
WIB T3
5:50 PM
WIB
1h 40m
M T W T F S S
Prices
6E3575
6E IndiGo
738
4:55 PM
WIB T3
6:35 PM
WIB
1h 40m
M T W T F S S
Prices
GA326
GA Garuda Indonesia
738
4:55 PM
WIB T3
6:35 PM
WIB
1h 40m
M T W T F S S
Prices
CI9684
CI China
738
4:55 PM
WIB T3
6:35 PM
WIB
1h 40m
M T W T F S S
Prices
ID6576
ID Batik
32A
6:14 PM
WIB TT2
7:28 PM
WIB
1h 14m
M T W T F S S
Prices
QG174
QG Citilink
320
6:35 PM
WIB T1C
8:15 PM
WIB
1h 40m
M T W T F S S
Prices
ID6594
ID Batik
32A
6:55 PM
WIB TT2
8:25 PM
WIB
1h 30m
M T W T F S S
Prices
QG726
QG Citilink
320
7:05 PM
WIB T1C
8:45 PM
WIB
1h 40m
M T W T F S S
Prices
ID6588
ID Batik
32A
8:00 PM
WIB TT2
9:30 PM
WIB
1h 30m
M T W T F S S
Prices
EY7064
EY Etihad
738
8:15 PM
WIB T3
9:50 PM
WIB
1h 35m
M T W T F S S
Prices
GA324
GA Garuda Indonesia
738
8:15 PM
WIB T3
9:50 PM
WIB
1h 35m
M T W T F S S
Prices
EK3546
EK Emirates
32A
5:05 AM
WIB TT1
6:35 AM
WIB
1h 30m
M T W T F S S
Prices
ID6391
ID Batik
32A
5:05 AM
WIB TT1
6:35 AM
WIB
1h 30m
M T W T F S S
Prices
ID6589
ID Batik
32A
6:10 AM
WIB TT1
7:40 AM
WIB
1h 30m
M T W T F S S
Prices
QG727
QG Citilink
320
6:35 AM
WIB T1
8:10 AM
WIB
1h 35m
M T W T F S S
Prices
GA305
GA Garuda Indonesia
738
7:05 AM
WIB T1
8:40 AM
WIB
1h 35m
M T W T F S S
Prices
CI9775
CI China
738
7:05 AM
WIB T1
8:40 AM
WIB
1h 35m
M T W T F S S
Prices
6E3560
6E IndiGo
738
7:05 AM
WIB T1
8:40 AM
WIB
1h 35m
M T W T F S S
Prices
EY8181
EY Etihad
738
7:05 AM
WIB T1
8:40 AM
WIB
1h 35m
M T W T F S S
Prices
QG175
QG Citilink
320
7:35 AM
WIB TT1
9:10 AM
WIB
1h 35m
M T W T F S S
Prices
GA323
GA Garuda Indonesia
738
8:20 AM
WIB T1
9:50 AM
WIB
1h 30m
M T W T F S S
Prices
ID6573
ID Batik
32A
8:30 AM
WIB TT1
10:00 AM
WIB
1h 30m
M T W T F S S
Prices
ID6585
ID Batik
32A
10:30 AM
WIB TT1
12:00 PM
WIB
1h 30m
M T W T F S S
Prices
ID6898
ID Batik
738
10:30 AM
WIB T1
12:00 PM
WIB
1h 30m
M T W T F S S
Prices
JT122
JT Lion
739
11:05 AM
WIB T1
12:35 PM
WIB
1h 30m
M T W T F S S
Prices
QG719
QG Citilink
320
11:20 AM
WIB TT1
12:55 PM
WIB
1h 35m
M T W T F S S
Prices
CI8619
CI China
738
11:35 AM
WIB T1
1:10 PM
WIB
1h 35m
M T W T F S S
Prices
6E3576
6E IndiGo
738
11:35 AM
WIB T1
1:10 PM
WIB
1h 35m
M T W T F S S
Prices
GA327
GA Garuda Indonesia
738
11:35 AM
WIB T1
1:10 PM
WIB
1h 35m
M T W T F S S
Prices
JT697
JT Lion
739
11:40 AM
WIB T1
1:14 PM
WIB
1h 34m
M T W T F S S
Prices
QG717
QG Citilink
320
12:40 PM
WIB TT1
2:15 PM
WIB
1h 35m
M T W T F S S
Prices
QG737
QG Citilink
320
2:00 PM
WIB T1
3:35 PM
WIB
1h 35m
M T W T F S S
Prices
ID6581
ID Batik
32A
2:10 PM
WIB TT1
3:40 PM
WIB
1h 30m
M T W T F S S
Prices
GA317
GA Garuda Indonesia
738
2:35 PM
WIB T1
4:10 PM
WIB
1h 35m
M T W T F S S
Prices
CI8617
CI China
738
2:35 PM
WIB T1
4:10 PM
WIB
1h 35m
M T W T F S S
Prices
ID6401
ID Batik
32A
4:25 PM
WIB TT1
5:55 PM
WIB
1h 30m
M T W T F S S
Prices
ID6862
ID Batik
32A
4:25 PM
WIB TT1
5:55 PM
WIB
1h 30m
M T W T F S S
Prices
CI8615
CI China
738
4:30 PM
WIB T1
6:10 PM
WIB
1h 40m
M T W T F S S
Prices
GA315
GA Garuda Indonesia
738
4:30 PM
WIB T1
6:10 PM
WIB
1h 40m
M T W T F S S
Prices
JT581
JT Lion
739
5:00 PM
WIB TT1
6:30 PM
WIB
1h 30m
M T W T F S S
Prices
ID7579
ID Batik
32A
5:30 PM
WIB TT1
7:00 PM
WIB
1h 30m
M T W T F S S
Prices
GA313
GA Garuda Indonesia
738
6:00 PM
WIB T1
7:35 PM
WIB
1h 35m
M T W T F S S
Prices
CI9681
CI China
738
6:00 PM
WIB T1
7:35 PM
WIB
1h 35m
M T W T F S S
Prices
CI8613
CI China
738
7:00 PM
WIB T1
8:35 PM
WIB
1h 35m
M T W T F S S
Prices
6E3574
6E IndiGo
738
7:00 PM
WIB T1
8:35 PM
WIB
1h 35m
M T W T F S S
Prices
JT695
JT Lion
739
7:00 PM
WIB TT1
8:30 PM
WIB
1h 30m
M T W T F S S
Prices
EY7120
EY Etihad
738
7:00 PM
WIB T1
8:35 PM
WIB
1h 35m
M T W T F S S
Prices
GA325
GA Garuda Indonesia
738
7:00 PM
WIB T1
8:35 PM
WIB
1h 35m
M T W T F S S
Prices
ID6575
ID Batik
32A
7:15 PM
WIB TT1
8:45 PM
WIB
1h 30m
M T W T F S S
Prices
EK3560
EK Emirates
32A
7:15 PM
WIB TT1
8:45 PM
WIB
1h 30m
M T W T F S S
Prices

No flights match your filters.

No nonstop flights on this route. connecting options below.

1-STOP
2-STOP Loading...
Jakarta to Surabaya
8 carriers, 285 flights/week nonstop.
8 Airlines 285 Flights/wk 430 mi 1h nonstop 24 1-stop hubs

CGK–SUB is served by 8 airlines with nonstop service. Batik Air, Garuda Indonesia and Citilink lead the route. The flight covers 430 miles in approximately 1h. Beyond nonstop, 24 hubs offer 1-stop connections.

Airline Landscape

All carriers operating nonstop CGK–SUB service, compared side by side.
Airline Freq/wk Aircraft Duration Dep OTP Alliance Codeshares
ID Batik Air 70 32A, 738 1h-1h30
GA Garuda Indonesia 49 738 1h35-1h40 SkyTeam
QG Citilink 49 320 1h35-1h40
CI China Airlines 35 738 1h35-1h40 SkyTeam
EY Etihad Airways 28 738 1h35-1h40
JT Lion Air 28 739 1h25-1h30
EK Emirates 19 32A, 738 1h30-1h40
6E IndiGo 7 738 1h40
Aircraft on this route
320 Airbus A320 – QG
32A Airbus A320 – EK, ID
738 Boeing 737-800 – 6E, CI, EK, EY, GA, ID
739 Boeing 737-900 – JT
Alliance coverage
Unaffiliated: 6E + EK + EY + ID + JT + QG (201 flights/wk, 71%)
SkyTeam: CI + GA (84 flights/wk, 29%)
OTP based on airport-level delay snapshots. Duration ranges reflect seasonal/directional variation.

Weekly Schedule Pattern

Nonstop flight frequency by day of week, CGK to SUB direction.
Mon
41
flights
Tue
41
flights
Wed
41
flights
Thu
41
flights
Fri
40
flights
Sat
41
flights
Sun
40
flights
Departure time distribution
12 AM6 AM12 PM6 PM12 AM
Morning departures
Afternoon/evening departures
41
Nonstop flights
285
Outbound / wk
263
Return / wk

Connection Landscape

Beyond nonstop. 1-stop and 2-stop options for CGK to SUB.
1-STOP
One-Stop Connections
24
Hubs
~7h
Fastest
~29h
Longest
Verified with published schedule alignment and minimum connection time.
2-STOP
Two-Stop Connections
315
Candidates
Two-stop connections loaded in the connections tab above.
Connections computed from published schedules with minimum connection time verification. Use the interactive explorer above the fold to filter by airline, tier, and layover time.

Other ways to reach Surabaya from Jakarta

Nearby airports with service to Juanda International Airport.
Metric CGK→SUB HLP→SUB
Distance from CGK 19 mi
Nonstop airlines 8 3
Weekly flights 285 70
Flight time 1h 1h 25m
Airports within 200 miles of CGK with service to Juanda International Airport.

Travel Essentials

Practical planning for this route.
Time Difference
0h
Surabaya is 0 hours the same as Jakarta.
CGK: WIB · SUB: WIB

When it's 6:00 PM in Jakarta, it's 6:00 PM in Surabaya.
Distance & Flight Time
430 mi / 691 km
Nonstop flight time is approximately 1h 0m to 1h 40m.
Getting to CGK

The airport rail link from BNI City Station (Sudirman Baru) takes 45 minutes (IDR 70,000-100,000 depending on promotions). Trains run every 30-60 minutes from early morning to late evening. BNI City connects to the Sudirman MRT station by foot, making it reachable from most central Jakarta neighborhoods. Buy tickets at the station counter or online at reservation.kci.id.

Grab and Gojek are the go-to ride-hail apps. From central Jakarta to CGK, expect IDR 124,000-200,000 and 45 minutes without traffic. Rush hour (7:00-10:00, 16:00-19:00) can stretch that to two hours. Regular taxis from the city to the airport cost IDR 150,000-250,000 by meter. The DAMRI airport bus runs from Gambir and other hubs for IDR 40,000-60,000 but takes 90+ minutes.

CGK–SUB Quick Facts

Key statistics for the Jakarta to Surabaya route.
Route details
Distance430 mi / 691 km
Flight time1h to 1h 40m
Time difference0 hours
Airlines (nonstop)8
Weekly flights285 out / 263 return
1-stop connections24 hubs
Origin: CGK
IATA / ICAOCGK / WIII
TimezoneAsia/Jakarta
Passengers/yr54.8M
Elevation34 ft / 10 m
Destination: SUB
IATA / ICAOSUB / WARR
TimezoneAsia/Jakarta
Passengers/yr14.0M
Elevation9 ft / 3 m

Frequently Asked Questions

Common questions about CGK to SUB flights.
Nonstop flights from Soekarno-Hatta International Airport to Juanda International Airport take approximately 1h to 1h 40m. The route covers 430 miles.
There are approximately 285 nonstop flights per week from CGK to SUB. The return direction has about 263 weekly flights.
Yes, 1-stop connections are available through BWN, PLW, PKU, KOE, AMQ, MDC, BEJ, UPG, PKY, PKN, DPS, PNK, BTH, BPN, PLM, SIN, CAN, KUL, BDJ, SRG, LOP, DMK, HKG and FOC. These options provide additional schedule flexibility.
Yes, return flights from SUB to CGK are available. Use the direction toggle at the top to view the return schedule.
Nearby alternatives include HLP. See the Alternatives section for a full comparison.
Click the 'Search Flights' button to check availability and prices on Google Flights. You can also compare airlines and schedules on this page to find the best option.
Route data is updated regularly from official airline schedules. On-time performance data comes from recent airport delay snapshots.
Block time is 1 hour 30 minutes to 1 hour 45 minutes for the 430-mile route across Java. Actual air time is about 1 hour 10 minutes. CGK taxi times can be long, especially at Terminal 3 during peak hours. Surabaya Juanda is less congested and gate arrivals are usually quick.
Garuda Indonesia operates 5 to 8 daily nonstops. Lion Air and Batik Air (Lion Group) combine for 8 to 12 daily frequencies. Citilink (Garuda's low-cost subsidiary) adds 5 to 8 more. Super Air Jet contributes additional departures. Total nonstop options often exceed 25 per day, making this one of Indonesia's busiest domestic corridors.
Garuda Indonesia is the full-service flag carrier with included meals, baggage, and wider seat pitch. Citilink is Garuda's low-cost arm with buy-on-board service. Lion Air and Batik Air are Lion Group carriers: Batik offers slightly better service and newer aircraft, while Lion is pure low-cost. Super Air Jet is the newest budget entrant. All fly 737 or A320 family aircraft.
Garuda Indonesia uses Terminal 3 at Soekarno-Hatta, the newest and most modern terminal. Lion Air and Batik Air operate from Terminal 1. Citilink uses Terminal 2. The terminals are spread across CGK's large campus, so confirm your terminal before heading to the airport. The Skytrain connects all three terminals but adds 10 to 15 minutes to transfer time.
Indonesian Railways runs executive-class trains between Jakarta Gambir and Surabaya Gubeng in about 9 to 10 hours. The Argo Bromo Anggrek is the premium service with reclining seats and meals. Train travel offers scenic views of Java's rice paddies and volcanoes. Flying saves 7 to 8 hours and is often comparable in price for advance bookings.

Jakarta to Surabaya: Java's Premier Domestic Route

CGK-SUB is one of Indonesia's highest-traffic air corridors, connecting the capital to East Java's largest city. Over 25 daily nonstops spread across Garuda Indonesia, Lion Air, Batik Air, Citilink, and Super Air Jet. The 430-mile flight takes about 1 hour 35 minutes. Competition keeps fares low, and travelers can choose between full-service (Garuda) and several low-cost options depending on baggage and service preferences.

Surabaya is the gateway to East Java and Bali overland. Juanda Airport sits 20 km south of the city center with good road connections. For Jakarta departures, check terminal assignments carefully: Garuda uses Terminal 3, Lion is in Terminal 1, and Citilink operates from Terminal 2. The rail alternative takes 9 to 10 hours but is popular for travelers who want to see Java's interior landscape without flying.