Impact-Site-Verification: 9e0dad4c-1ecb-4b27-8cf1-32aa58dbb403

Skip to content
Search AI Planner

Surabaya to Yogyakarta by bus

Typical ride 7h 00m over 330 km. Starting fares around $8 ($8–18). Compare operators - we don't sell tickets.

Route snapshot

Duration
7h 00m
Distance
330 km
Typical price
$8–18
Tip
Buses leave from Giwangan terminal and arrive at Surabaya's Bungurasih terminal, which is far from the centre. The train is faster and drops you downtown, so check both before booking.

Over 330 km the starting fare works out at $2.42 per 100 km - cheaper per kilometre than 393 of the 475 $-priced routes we track. See the bus fare index. Fares are editorial starting prices, not live quotes.

Trip plannerEstimates

Surabaya to Yogyakarta: bus, train, flight or drive?

We compared the ways to travel for Mon 2 Nov 2026 and 1 traveller. Bus figures come from our route data; train, flight and drive are our estimates, not live prices. We don’t sell tickets - the real fares are with the operators below.

Best overall

Train

Strong on time and CO2. Scores 77/100 on our weighted mix of time, cost, comfort and CO2.

Score weights: time 35% · cost 30% · comfort 20% · CO₂ 15%

Search trains
Door to door
5h 20m4h 30m on the move
Estimated fare
$9–25per person
Carbon
13 kgCO₂e per traveller

Cheapest

Bus

$8–18

About 24% less than the next cheapest option (train), counting typical fares.

See live bus fares

Quickest

Flight

4h 20m door to door

Door to door about 4h 20m - 1h quicker than the next fastest (train).

Search flights

Greenest

Bus

9.9 kg CO₂e each

About 9.9 kg CO2e per traveller, roughly 84% less than flight.

See live bus fares

Door-to-door time

The real trip, not just the ride: getting to the station or airport, check-in and waiting all count.

Door-to-door time by way of travelling Bus 7h 55m (7h on the move, 55 min getting there and waiting); Train 5h 20m (4h 30m on the move, 50 min getting there and waiting); Flight 4h 20m (1h 05m on the move, 3h 15m getting there and waiting); Drive 5h 30m (5h 05m on the move, 25 min getting there and waiting). Estimates. Bus 7h 55m 7h 7h on the move + 55 min transfers & waiting Train 5h 20m 4h 30m 4h 30m on the move + 50 min transfers & waiting Flight QUICKEST 4h 20m 1h 05m on the move + 3h 15m transfers & waiting Drive 5h 30m 5h 05m 5h 05m on the move + 25 min transfers & waiting Door-to-door time by way of travelling Bus 7h 55m (7h on the move, 55 min getting there and waiting); Train 5h 20m (4h 30m on the move, 50 min getting there and waiting); Flight 4h 20m (1h 05m on the move, 3h 15m getting there and waiting); Drive 5h 30m (5h 05m on the move, 25 min getting there and waiting). Estimates. Bus 7h 55m 7h 7h on the move + 55 min transfers & waiting Train 5h 20m 4h 30m 4h 30m on the move + 50 min transfers & waiting Flight QUICKEST 4h 20m 1h 05m on the move + 3h 15m transfers & waiting Drive 5h 30m 5h 05m 5h 05m on the move + 25 min transfers & waiting

Estimated cost

Typical cheap-to-flexible range. The dot marks the middle of the range. Not live prices.

Estimated cost range by way of travelling Bus $8–18 per person; Train $9–25 per person; Flight $50–120 per person; Drive $23–95 per person. Estimates, not live prices. Bus CHEAPEST $8–18 per person Train $9–25 per person Flight $50–120 per person Drive $23–95 per person (whole car) Estimated cost range by way of travelling Bus $8–18 per person; Train $9–25 per person; Flight $50–120 per person; Drive $23–95 per person. Estimates, not live prices. Bus CHEAPEST $8–18 per person Train $9–25 per person Flight $50–120 per person Drive $23–95 per person (whole car)

Scorecard

Each way scored 0-100 on four things. A bigger shape means a better balance.

Scorecard radar: time, cost, comfort and green score per way of travelling Bus: time 55, cost 100, comfort 55, green 88; Train: time 81, cost 76, comfort 66, green 84; Flight: time 100, cost 16, comfort 62, green 26; Drive: time 79, cost 22, comfort 53, green 32. Time Cost Comfort Green
  • Bus 73 out of 100
  • Train 77 out of 100
  • Flight 56 out of 100
  • Drive 50 out of 100

Train: step by step

77/100

  1. Leave your door for the station20 min
  2. Security-free boarding buffer15 min
  3. Train ride4h 30m
  4. Station to your final stop15 min
Door to door5h 20m
Time weight 35%81 out of 100
Cost weight 30%76 out of 100
Comfort weight 20%66 out of 100
Green weight 15%84 out of 100

Rough estimate - assumes a direct intercity rail service exists; check timetables.

Our estimate

Search trains

The night-bus idea

Evening Morning

At about 7h on the road, this is a ride worth doing overnight. Some operators run night departures on long routes - check the times with the providers below. Sleep on the coach and you skip a hotel night, roughly $40–80 for one traveller (1 room at a typical budget rate).

Trade-off: coach sleep is lighter than a bed, and you arrive early with a day ahead of you - a left-luggage locker helps. Hotel saving is an estimate.

Split the cost

Even with four people sharing, the typical bus fare is still lower per person than the car.

Per-person figures use the middle of each estimate. The low end of the car range assumes your own car (fuel and tolls); the high end adds a one-day hire car.

See the numbers (table)
Estimated comparison of ways to travel from Surabaya to Yogyakarta
WayDoor to doorOn the moveFareCO₂e eachScore
Train*5h 20m4h 30m$9–2513 kg77/100
Bus7h 55m7h$8–189.9 kg73/100
Flight*4h 20m1h 05m$50–12061 kg56/100
Drive*5h 30m5h 05m$23–9556 kg50/100

* Our estimate, not a quote. Bus: duration, distance and fare range from our route data.

How we estimate
  • Bus uses the duration, distance and typical fare range in our route data (editorial figures, not live quotes).
  • Train, flight and drive are estimated from the 330 km road distance (with fixed average speeds and per-kilometre price bands, scaled to this route’s own bus fare level). A straight-line distance of about 80% of the road distance is used for flights.
  • Door to door adds the time that is not travelling: about 55 min for a coach (to the station, boarding, onward), 50 min for a train, 195 min for a flight (to the airport, check-in and security, baggage, into town) and 25 min for a car (loading, parking).
  • Cost is a cheap-to-flexible range per person; flights include airport transfers; cars are priced per car (fuel and tolls at the low end, plus a one-day hire car at the high end) and split between up to four people.
  • CO₂e per traveller uses typical factors per passenger-km: coach 0.03 kg, train 0.04 kg (0.015 kg on electric high-speed lines), short-haul flight 0.14-0.23 kg without radiative forcing, car 0.17 kg per vehicle-km shared between the people in it.
  • Scores run 0-100: time (fastest door to door = 100), cost (cheapest typical total = 100), comfort (our editorial rating, lower for very long rides) and green (lower emissions per km = higher). Best overall weights them time 35%, cost 30%, comfort 20%, CO₂ 15%.
  • Not every corridor has a direct train or airport service, and car journeys may involve ferries or tolls we do not know about. Treat everything except the bus figures as a starting point and check the operators.

The cheapest way from Surabaya to Yogyakarta is the bus (about $8–18 per person); the quickest is the flight (about 4h 20m door to door); the best overall balance is the train; the lowest-carbon choice is the bus (about 9.9 kg CO2e per traveller). The bus takes about 7h on the road over roughly 330 km. Bus figures come from our route data; train, flight and drive figures are our own estimates, not live prices.

Fares and times other than the bus figures are estimates for planning only - they are not offers or live prices. We don’t sell tickets; compare live prices with the providers further down this page.

Compare bus prices

Every site shows different prices for the same trip - compare at least two.

Partner links are sponsored: we may earn a commission if you book, at no extra cost to you. How we make money.

Other ways to plan Surabaya Yogyakarta

Surabaya Yogyakarta: questions

How long is the bus from Surabaya to Yogyakarta?

The ride typically takes about 7h 00m for the 330 km journey, depending on traffic and border crossings.

How much does the bus from Surabaya to Yogyakarta cost?

Typical fares start around $8 ($8–18 depending on how early you book and the operator).

Which operators run this route?

Compare live departures from FlixBus, BusBud, Omio, CheckMyBus and 12Go on this page - we don't sell tickets ourselves.

Other popular bus routes