There are 7 ways to get from Surabaya to Yogyakarta by plane, bus, train, taxi or car

Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2rio's travel planner.

Recommended option

Fly to Yogyakarta  •  2 h 19 min

  1. Fly from Surabaya (SUB) to Yogyakarta (JOG) SUB - JOG

$34 - $137

Cheapest option

Train  •  4 h 18 min

  1. Take the train from Gubeng to Yogyakarta Argo Wilis 5 / ...

$3 - $11

5 alternative options

Fly to Semarang, bus  •  4 h 43 min

  1. Fly from Surabaya (SUB) to Semarang (SRG) SUB - SRG
  2. Take the bus from Semarang to Yogyakarta Jombor Bus Station

$39 - $135

Fly to Solo, train  •  2 h 55 min

  1. Fly from Surabaya (SUB) to Solo (SOC) SUB - SOC
  2. Take the train from Solobalapan to Yogyakarta Tugu

$35 - $179

Bus  •  6 h 30 min

  1. Take the bus from Surabaya to Yogyakarta

$5 - $8

Taxi  •  4 h 13 min

  1. Take a taxi from Surabaya to Yogyakarta 204.6 miles

$85 - $110

Drive  •  4 h 13 min

  1. Drive from Surabaya to Yogyakarta 204.6 miles

$18 - $27

Questions & Answers

Yes, there is a direct bus departing from Surabaya and arriving at Yogyakarta. Services depart hourly, and operate every day. The journey takes approximately 6 h 30 min.

More details

Yes, there is a direct train departing from Gubeng and arriving at Yogyakarta. Services depart every four hours, and operate every day. The journey takes approximately 4 h 18 min.

More details

The distance between Surabaya and Yogyakarta is 270 km. The road distance is 327.3 km.

Get driving directions

The best way to get from Surabaya to Yogyakarta without a car is to train which takes 4 h 18 min and costs .

More details

It takes approximately 2 h 19 min to get from Surabaya to Yogyakarta, including transfers.

More details

Surabaya to Yogyakarta bus services, operated by Eka Cepat, depart from Surabaya station.

More details

Surabaya to Yogyakarta train services, operated by Kereta API, depart from Gubeng station.

More details

The best way to get from Surabaya to Yogyakarta is to fly which takes 2 h 19 min and costs . Alternatively, you can train, which costs and takes 4 h 18 min, you could also bus, which costs and takes 6 h 30 min.

Mode details

The quickest flight from Surabaya Airport to Yogyakarta Airport is the direct flight which takes 55 min.

Search flights

Surabaya to Yogyakarta bus services, operated by Eka Cepat, arrive at Yogyakarta station.

More details

Map of how to get from Surabaya to Yogyakarta.
Launch map view
  • Distance: 168.8 miles
  • Duration: 2 h 19 min

What companies run services between Surabaya, Indonesia and Yogyakarta, Indonesia?

PT. Sriwijaya Air, Wings Air and Garuda Indonesia fly from Surabaya to Yogyakarta every 4 hours. Alternatively, Kereta API operates a train from Surabaya to Yogyakarta every 4 hours. Tickets cost $3 - $11 and the journey takes 4 h 18 min.

Airlines
Wings Air
Website
lionair.co.id
Flights from Surabaya to Yogyakarta
Ave. Duration
1 h 10 min
When
Every day
Estimated price
$30 - $250
Flights from Surabaya to Semarang
Ave. Duration
1 h 10 min
When
Every day
Estimated price
$40 - $140
Flights from Surabaya to Solo
Ave. Duration
1 h
When
Monday, Wednesday, Thursday and Friday
Estimated price
$30 - $150
PT. Sriwijaya Air
Website
sriwijayaair.co.id
Flights from Surabaya to Yogyakarta
Ave. Duration
55 min
When
Every day
Estimated price
$28 - $130
Flights from Surabaya to Semarang
Ave. Duration
55 min
When
Every day
Estimated price
$29 - $120
Garuda Indonesia
Website
garuda-indonesia.com
Flights from Surabaya to Yogyakarta
Ave. Duration
1 h 20 min
When
Every day
Estimated price
$40 - $250
Flights from Surabaya to Semarang
Ave. Duration
50 min
When
Every day
Estimated price
$55 - $170
Citilink Indonesia
Website
Flights from Surabaya to Semarang
Ave. Duration
1 h
When
Every day
Estimated price
$30 - $110
Train operators
Prambanan Ekspres
Email
admin@prameks.com
Website
prameks.com
Train from Solobalapan to Tugu Jogjakarta
Ave. Duration
1 h 12 min
Frequency
Every 4 hours
Estimated price
$1
Schedules at
prameks.com
Bus operators
Nusantara
Website
nu3tara.com
Bus from Semarang to Yogyakarta Jombor Bus Station
Ave. Duration
2 h 30 min
Frequency
4 times a day
Estimated price
$2 - $4
Schedules at
nu3tara.com
Eka Cepat
Phone
(031) 88198899
Website
ekacepat.com
Bus from Surabaya to Yogyakarta
Ave. Duration
6 h 30 min
Frequency
Hourly
Estimated price
$5 - $8
Schedules at
ekacepat.com
Other operators
Taxi from Surabaya to Yogyakarta
Ave. Duration
4 h 13 min
Estimated price
$85 - $110
Blue Bird Group
Phone
+62 313 721234
Website
bluebirdgroup.com

Want to know more about travelling around the world?

Rome2rio's Travel Guide series provide vital information for the global traveller. Read our range of informative guides on popular transport routes and companies - including Travelling to the US: What do I need to know?, Travelling Croatia’s Dalmatian Coast by boat, bus, car and train and The London Underground: Essential tips to navigate the Tube - to help you get the most out of your next trip.

More Questions & Answers

Surabaya to Yogyakarta train services, operated by Kereta API, arrive at Yogyakarta station.

More details

Yes, the driving distance between Surabaya to Yogyakarta is 327 km. It takes approximately 4 h 13 min to drive from Surabaya to Yogyakarta.

Get driving directions

PT. Sriwijaya Air, Garuda Indonesia and Wings Air offer flights from Surabaya Airport to Yogyakarta Airport.

Search flights

There are 1206+ hotels available in Yogyakarta. Prices start at $11 USD per night.

More details

The best way to get from Surabaya to Surabaya Airport is to taxi which takes 20 min and costs .

More details