Jakarta and Surabaya sit at opposite ends of Java, roughly 725 km apart by rail and closer to 780 km by road — the longest and last leg in this corridor series. If you’ve been following along through Bandung to Yogyakarta and Yogyakarta to Surabaya, this piece completes the full west-to-east picture. For this specific pairing, though, almost nobody should be doing it entirely overland — the distance strongly favors flying, and the numbers make that clear fast.
This guide covers every way to make the Jakarta–Surabaya journey in 2026: flying, the full range of named trains from economy to luxury sleeper, long-distance buses, and driving the complete Trans-Java toll road.
Jakarta to Surabaya: The Quick Comparison
| Option | Duration | Cost (One-Way, Adult) | Best For |
|---|---|---|---|
| Flight | ~1h 30m in the air | Rp 950,000–1,600,000 (~$60–100) | Fastest option by far, right choice for most travelers |
| Train (Argo Bromo Anggrek, executive) | 7h 45m | Rp 620,000–980,000 (~$39–61) | Best overland option, north-coast scenery |
| Train (Luxury Sleeper / Compartment Suite) | 7h 45m | Rp 2,150,000–2,300,000+ (~$134–144) | Premium overnight comfort |
| Train (Gumarang, mixed business/executive) | 10–11 hours | Rp 250,000–570,000 (~$16–36) | Budget-conscious travelers wanting more than basic economy |
| Train (Jayabaya, economy) | ~10 hours | Rp 300,000–350,000 (~$19–22) | Cheapest train option |
| Executive bus | 12–15 hours | Rp 250,000–650,000 (~$16–41) | Absolute lowest cost, sleeper buses available |
| Driving, toll route | 9–10 hours | Rp 1,350,000–1,650,000 (~$84–103) | Only worth it for groups or multi-stop road trips |
The exchange rate at time of writing is approximately Rp 16,000 to USD 1.
Option 1: Flying — The Right Choice for Almost Everyone
At roughly 780 km by road, this is not a distance most travelers should be covering overland unless the journey itself is the point. Jakarta–Surabaya is one of Indonesia’s busiest domestic air corridors for a reason.
Airlines and Frequency
Garuda Indonesia, Batik Air, Citilink, Lion Air, Super Air Jet, and Pelita Air all operate frequent nonstop flights between Soekarno-Hatta (CGK) and Juanda International Airport (SUB), with well over 100 combined weekly nonstop departures. Flight time runs 1 hour 25 to 35 minutes.
Prices
- Budget carriers (Lion, Citilink, Super Air Jet, Pelita Air) — one-way fares as low as Rp 950,000–1,300,000 (~$60–81) when booked ahead, occasionally lower on promotional fares
- Full-service (Garuda Indonesia, Batik Air) — typically Rp 1,300,000–1,600,000+ (~$81–100), higher during peak periods
Booking around a month ahead tends to secure the better fares. Thursday departures are consistently cheaper on average than weekend travel, and December is typically the cheapest month to book.
Booking
Traveloka, tiket.com, or directly through airline apps all work well for foreign cards.
Is It Worth It?
Overwhelmingly yes for this specific distance. Factoring in check-in, security, and the transfer from Juanda into central Surabaya, total door-to-door time lands around 3.5–4.5 hours — compared to 7.75 hours for even the fastest train and 12+ hours by bus or car. Unless the overland journey is specifically the point of the trip, or you’re carrying luggage you’d rather not check, flying is the clear default here.
Option 2: The Train — A Genuinely Good Overland Option
If you’d rather not fly, the Jakarta–Surabaya rail corridor is one of the best served in Indonesia, running along the scenic north coast (Pantura) route through Cirebon and Semarang, with everything from subsidized economy up to a proper luxury sleeper service.
Argo Bromo Anggrek — The Flagship
Argo Bromo Anggrek is the premier service on this route, running twice daily (morning and night) between Gambir and Surabaya Pasar Turi, with only four stops along the way — Cirebon, Semarang Tawang, and (on the morning service) Pekalongan. This minimal-stop pattern is what makes it the fastest conventional train on the corridor, covering the distance in 7 hours 45 minutes.
Three classes are available:
- Executive New Generation — Rp 620,000–980,000 (~$39–61), rising further during Lebaran and other peak periods
- Luxury Sleeper — Rp 2,150,000–2,300,000 (~$134–144), genuine sleeper-style accommodation
- Compartment Suite — the premium tier above Luxury Sleeper, priced accordingly higher
Argo Semeru and Sembrani run comparable executive services on overlapping schedules if Argo Bromo Anggrek’s timing doesn’t suit, with executive fares in a similar Rp 550,000–620,000 range.
Gumarang — The Mixed-Class Middle Ground
Gumarang runs once daily each direction between Pasar Senen in Jakarta and Surabaya Pasar Turi, combining Economy, Business, and Executive classes in one train — a useful option if different members of your group want different budgets on the same departure. Journey time runs 10 to 11 hours, considerably longer than Argo Bromo Anggrek since it makes far more stops along the Pantura route. Business class fares run Rp 250,000–420,000; Executive runs around Rp 570,000.
Jayabaya — The Economy Option
Jayabaya offers straightforward economy class between Pasar Turi and Pasar Senen, taking around 10 hours for roughly Rp 300,000–350,000 — noticeably pricier than some economy trains elsewhere in Java, since this is a considerably longer route.
Where to Board and Arrive
Executive-class trains (Argo Bromo Anggrek, Argo Semeru, Sembrani) generally use Gambir in Jakarta; the mixed and economy classes (Gumarang, Jayabaya) use Pasar Senen. On the Surabaya side, all of these services arrive at Surabaya Pasar Turi, distinct from Surabaya Gubeng, which serves the Yogyakarta corridor instead — worth knowing if you’re combining legs from this series.
How to Book
- KAI Access app — official booking, English support
- tiket.com and Traveloka — reliable for foreign cards
- Station counters for walk-up bookings, opening up to 45 days ahead
What the Experience Is Like
The Pantura route runs along Java’s north coast through Cirebon and Semarang, offering coastal glimpses and passing through some of the island’s densest urban corridors before opening up into the agricultural stretches of East Java. Argo Bromo Anggrek’s executive class is genuinely comfortable for the journey length — reclining seats, a dining car, and individual power outlets — while the Luxury Sleeper and Compartment Suite tiers are worth considering specifically for overnight departures, letting you sleep through most of the trip in proper lie-flat or semi-private accommodation.
Option 3: Executive Bus — The Cheapest Option
Long-distance buses remain the least expensive way to cover this distance, connecting Jakarta’s Terminal Pulo Gebang or Kalideres with Surabaya’s Terminal Bungurasih (Purabaya).
Major Operators
- Rosalia Indah — Executive Plus, Super Top, and First Class Double Decker sleeper tiers, fares Rp 370,000–625,000
- Sinar Jaya — budget-friendly standard service from Rp 320,000, with a sleeper option around Rp 575,000
- Pahala Kencana — Executive class around Rp 260,000
- Lorena, Haryanto, Agra Mas — additional operators spanning standard executive through premium sleeper classes, with Agra Mas Suite Class around Rp 550,000
Bus Prices and Duration
Fares run roughly Rp 250,000–650,000 ($16–41) depending on class, with sleeper and double-decker tiers at the top end. Journey time is 12–15 hours under normal conditions via the Trans-Java toll road, though some slower or non-toll services can stretch to 17 hours or more — worth checking your specific operator’s route before booking if journey time matters.
Booking
redBus, 12Go.asia, and Traveloka all cover this corridor, as do the operators’ own apps and websites.
What the Experience Is Like
Given the distance, most travelers choosing the bus specifically want the sleeper experience rather than a standard seat — reclining sleeper seats, blankets, personal entertainment screens, and a rest stop partway through are standard on the premium tiers. This is a genuinely long journey regardless of comfort level, so most departures run overnight by design.
Option 4: Driving or Private Car
With the Trans-Java toll network now complete along this entire corridor, driving is possible — but the cost and duration make it a hard sell against flying for most travelers.
The Route
The full route runs via Tol Jakarta–Cikampek, Cikopo–Palimanan, through Palimanan–Kanci, Kanci–Pejagan, Pejagan–Pemalang, Pemalang–Batang, Batang–Semarang (Kalikangkung), continuing through Semarang–Solo, Solo–Ngawi, Ngawi–Kertosono, Kertosono–Mojokerto, and finally Mojokerto–Surabaya, exiting at Gerbang Tol Warugunung. This covers roughly 782 km across 13 toll sections.
Time and Cost
Normal travel time runs 9–10 hours under good conditions, longer during Lebaran and other peak holiday periods when the entire Trans-Java corridor sees heavy congestion. Toll costs for a Golongan I vehicle run approximately Rp 860,000–990,000 one-way, and fuel adds a further Rp 450,000–650,000 depending on vehicle efficiency and fuel grade, bringing the all-in cost to roughly Rp 1,350,000–1,650,000 ($84–103) — more than even the priciest budget flight, for a journey nearly ten times longer.
When Driving Makes Sense
Given the economics, driving only makes sense for groups of three or four splitting costs, or for travelers specifically planning multi-city stops along the way — Cirebon, Semarang, and Solo all sit directly on this route and make natural overnight breaks rather than a single grueling push.
An e-toll card loaded with at least Rp 1,000,000 is essential for a one-way trip — no toll gate on this corridor accepts cash.
Which Option Is Right for You?
Fly if: you’re making this specific journey and don’t have a compelling reason to go overland. Given the distance, this is the right default for nearly everyone — the time and, often, cost advantage over every other option is substantial.
Take the train if: you want the overland experience without the extreme duration of a bus, or you specifically want the Luxury Sleeper or Compartment Suite experience for an overnight journey done in real comfort. Argo Bromo Anggrek is the best balance of speed and cost among the ground options.
Take the bus if: budget is the only real constraint and you’re comfortable with a 12–15 hour overnight journey, ideally in one of the sleeper-class services.
Drive if: you’re splitting costs across a group and specifically want to break the journey with stops in Cirebon, Semarang, or Solo along the way, treating the drive itself as part of the trip rather than pure transit.
If you’re combining this leg with the rest of Java, it may make more sense to route through Yogyakarta rather than going Jakarta–Surabaya direct — flying or training into Yogyakarta, then covering the Yogyakarta–Surabaya leg separately, lets you see Yogyakarta itself along the way rather than skipping straight past it.
Where to Go From Surabaya
For most travelers arriving via this leg, Surabaya is a transit point on the way to Mount Bromo and Ijen Crater rather than a destination in itself. This Java itinerary covers how to sequence those stops without turning the trip into a nonstop transit slog, and if Ijen’s blue fire is specifically on your list, our Kawah Ijen trek guide covers permits, timing, gas masks, and whether the early-morning trek is actually worth it.
Essential Tips for the Jakarta–Surabaya Journey
1. Book flights around a month ahead for the best fares. Fares can more than double for last-minute bookings, particularly around weekends and school holidays.
2. If you’re arriving in Indonesia through Jakarta for the first time, sort your digital arrival card before you land. This guide to Southeast Asia’s digital arrival cards covers Indonesia’s requirements and deadlines alongside the rest of the region.
3. Know which Surabaya station or airport you’re using. Trains from this corridor arrive at Surabaya Pasar Turi, not Surabaya Gubeng — the station used by trains from Yogyakarta. Flights land at Juanda (SUB). Don’t assume these are interchangeable when planning onward transport.
4. Book Argo Bromo Anggrek early if you want the morning departure. Its speed advantage over the alternatives makes it the most popular choice on the corridor, and seats — especially in Luxury Sleeper — sell out well ahead of departure.
5. If taking the bus, prioritize a sleeper-class service. At 12–15 hours minimum, the difference between a standard reclining seat and a proper sleeper berth matters considerably more here than on any other leg in this series.
6. Avoid driving during Lebaran if at all possible. The full Trans-Java corridor sees its worst congestion of the year during the exodus, and a normally 9–10 hour drive can stretch well past 12.
7. Load your e-toll card generously before a road trip. At least Rp 1,000,000 for a one-way journey across all 13 toll sections — no gate on this corridor accepts cash.
8. Consider breaking a road trip into overnight stops. Cirebon, Semarang, and Solo all sit directly on the toll route and make far more sense as planned stopovers than pushing through in one exhausting day.
9. Have both cash and a working QR payment app ready for rest stops. Toll gates need the e-toll card specifically, but rest-area vendors and terminal stalls vary in what they accept.
10. Weigh the Yogyakarta routing if you have the time. Going Jakarta–Yogyakarta–Surabaya as two separate legs takes longer overall than a direct flight, but it lets you actually see Yogyakarta rather than flying past it entirely — worth considering if this is a first trip to Java rather than a repeat visit focused purely on Bromo or Ijen.
Full Journey Overview
Jakarta (CGK) → Surabaya (SUB) via flight: ~1h 30m in the air, plus check-in, security, and the Juanda-to-city transfer = ~3.5–4.5 hrs total
Jakarta (Gambir) → Surabaya (Pasar Turi) via Argo Bromo Anggrek, executive: 7h 45m door-to-station, plus onward transfer = ~8–8.5 hrs total
Jakarta (Pasar Senen) → Surabaya (Pasar Turi) via Gumarang or Jayabaya: 10–11 hours, plus onward transfer = ~10.5–11.5 hrs total
Jakarta (Pulo Gebang) → Surabaya (Bungurasih) via bus: 12–15 hours, plus terminal transfers on both ends = ~13–16 hrs total
Jakarta → Surabaya driving, toll route: 9–10 hours on the road, plus loading and parking time = ~9.5–10.5 hrs total
Frequently Asked Questions
Is it better to fly or take the train from Jakarta to Surabaya? For nearly all travelers, flying is the better choice — roughly 3.5–4.5 hours door-to-door versus 7 hours 45 minutes for even the fastest train. The train is worth it if you specifically want the overland experience or a genuine overnight sleeper journey.
How much does a flight from Jakarta to Surabaya cost? Budget carriers like Lion Air, Citilink, and Super Air Jet can run Rp 950,000–1,300,000 (~$60–81) booked in advance. Garuda Indonesia and Batik Air typically run Rp 1,300,000–1,600,000 (~$81–100) or more.
What is the fastest train from Jakarta to Surabaya? Argo Bromo Anggrek, covering the route in 7 hours 45 minutes with only four intermediate stops, departing twice daily from Gambir.
Is there a luxury or sleeper train option? Yes. Argo Bromo Anggrek offers both a Luxury Sleeper class and a premium Compartment Suite tier, priced from around Rp 2,150,000.
What is the cheapest way to get from Jakarta to Surabaya? Standard executive buses starting around Rp 250,000–320,000 are the cheapest option, though the journey takes 12–15 hours or more.
Which Surabaya station do Jakarta trains use? All the trains covered in this guide — Argo Bromo Anggrek, Gumarang, and Jayabaya — arrive at Surabaya Pasar Turi, not Surabaya Gubeng, which serves trains from Yogyakarta instead.
How long does the drive from Jakarta to Surabaya take? Around 9–10 hours via the complete Trans-Java toll road under normal conditions, though this can stretch considerably during Lebaran and other major holidays.
Is driving worth it for this route? Generally no, given the cost — toll and fuel together typically run more than even a full-fare flight, for a journey that takes roughly nine times longer. It makes more sense for groups splitting costs or travelers planning stops in Cirebon, Semarang, or Solo along the way.
How far in advance should I book? Flights are cheapest booked around a month ahead. Train tickets open up to 45 days before departure and are worth booking early for Argo Bromo Anggrek specifically, especially the Luxury Sleeper class. Buses can generally be booked closer to departure outside major holiday periods.
Fares, schedules, and toll rates are subject to change. Always check current availability and prices directly via KAI Access, tiket.com, Traveloka, or the relevant airline before booking.










