Rome2Rio

How to get fromYogyakarta to Surabayaby train, bus, car, taxi, or shuttle

Find Transport to Surabaya

See all options

There are 5 ways to get from Yogyakarta to Surabaya by train, bus, car, taxi, 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 Yogyakarta to Surabaya Gubengtrain train Sancaka / ...
    4h
    Rp 180,000–330,000
  2. Bus

    cheapest
    1. Take the bus from Yogyakarta Giwandan to Terminal Purabayabus bus
    7h 18m
    Rp 131,000–455,000
  3. Drive 322.3 km

    1. Drive from Yogyakarta to Surabayacar car 322.3 km
    3h 39m
    Rp 637,234–920,449
  4. Taxi

    1. Take the taxi from Yogyakarta to Surabayataxi taxi 322.3 km
    3h 39m
    Rp 1,900,000–2,300,000
  5. Shuttle

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

Yogyakarta to Surabaya by train

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

Questions & Answers

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

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

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 Need to know: Greyhound, 5 incredible day trips from Florence by train, and Thanksgiving 2018: How to travel stress-free - to help you get the most out of your next trip.

More Questions & Answers