Rome2Rio

How to get fromSurabaya to Yogyakartaby train, bus, car, taxi, plane, or shuttle

Find Transport to Yogyakarta

See all options

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

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

  1. Train

    best
    1. Take the train from Surabaya Gubeng to Yogyakartatrain train Sancaka / ...
    4h
    Rp 180,000–330,000
  2. Bus

    cheapest
    1. Take the bus from Terminal Purabaya to Yogyakarta Giwandanbus bus
    7h 30m
    Rp 131,230–455,000
  3. Drive  322.7 km

    1. Drive from Surabaya to Yogyakartacar car 322.7 km
    3h 44m
    Rp 637,550–920,905
  4. Taxi

    1. Take the taxi from Surabaya to Yogyakartataxi taxi 322.7 km
    3h 44m
    Rp 1,900,000–2,300,000
  5. Fly to Adisutjipto International Airport

    1. Fly from Juanda International Airport (SUB) to Adisutjipto International Airport (JOG)plane plane SUB - JOG
    5h
    Rp 1,539,797–3,664,560
  6. Fly to Yogyakarta International Airport, train

    1. Fly from Juanda International Airport (SUB) to Yogyakarta International Airport (YIA)plane plane SUB - YIA
    2. Take the train from Yogyakarta International Airport to Yogyakarta Tugu Stationtrain train
    5h 9m
    Rp 2,356,196–2,810,959
  7. Fly to Adisumarmo International Airport, train

    1. Fly from Juanda International Airport (SUB) to Adisumarmo International Airport (SOC)plane plane SUB - SOC
    2. Take the train from Solo Balapan to Yogyakartatrain train
    5h 34m
    Rp 1,358,196–3,887,959
  8. Shuttle

    1. Take a shuttle bus from Surabaya to Yogyakartashuttle bus Surabaya
    3h
    Rp 200,000–250,000

Surabaya to Yogyakarta by train

Calendar63Weekly Trains
Duration4hAverage Duration
TicketRp 180,000Cheapest Price
See schedules

Comparing Your Travel Options

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

Kereta API operates a train from Surabaya Gubeng to Yogyakarta every 3 hours. Tickets cost Rp 180,000–330,000 and the journey takes 4h. Alternatively, Eka Cepat operates a bus from Terminal Purabaya to Yogyakarta Giwandan 3 times a day. Tickets cost Rp 125,000–135,000 and the journey takes 6h.

Airlines
Train operators
Bus operators
Other operators

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 French strikes 2018: What are my alternative transport options?, What are the different types of Renfe trains in Spain?, and Travelling Croatia’s Dalmatian Coast by boat, bus, car and train - to help you get the most out of your next trip.

Booking & Getting There