Surabaya to Yogyakarta Train

Travel from Surabaya to Yogyakarta with ease and comfort aboard Indonesia’s modern railway services. This east-to-west route connects East Java’s bustling metropolis with the cultural heart of Central Java. With multiple departures daily, affordable tickets, and a journey time of under 5 hours, the train offers a scenic, stress-free alternative to buses or flights.

Train From Surabaya to Yogyakarta

Distance
Distance
305 km
Travel Time

Travel Time

3 h 40 m
Daily Departures

Daily Departures

10
Reverse Route

Reverse Route

Surabaya to Yogyakarta Train Information

The following information about train stations will help you plan your journey from Surabaya to Yogyakarta smoothly and with ease.

Surabaya Pasar Turi
Semarang St No.1, Tembok Dukuh, Bubutan, Surabaya City, East Java 60173, Surabaya, Indonesia
Learn More
Yogyakarta station
Sosromenduran, Gedong Tengen, Yogyakarta, Indonesia
Learn More

Surabaya to Yogyakarta Rail Map

The rail route from Surabaya to Yogyakarta spans approximately 305 kilometers, passing through the vibrant heartlands of Java. This popular journey is served by comfortable long-distance trains equipped with modern facilities and air-conditioned coaches.

There are 10 daily departures, giving travelers excellent scheduling flexibility. Trains start running at 07:00 and the last one departs around 20:00. The shortest travel time is 3 hours 40 minutes, with the longest option taking 5 hours. Tickets for this route start from 31€, making it a reliable and affordable option for domestic and international travelers alike.

Surabaya to Yogyakarta
Tips to Buy Train Tickets
Plan ahead and make your booking stress-free with these useful tips for buying train tickets in Indonesia.
  • Book Early
    Train tickets in Indonesia can sell out quickly, especially during weekends and holidays, so early booking is highly recommended.
  • Book Tickets Easily Online
    Use platforms like Rail Ninja or High-Speed Train website to quickly compare routes, check schedules, and secure your seats in just a few clicks.
  • Prepare Your ID
    You’ll need to provide a valid ID (passport or national ID) when booking tickets and during check-in at the station.
  • Choose the Right Class
    Compare Economy, Business, Executive, or High-Speed (KCIC) classes based on your comfort level and travel budget.
  • Know Your Station
    Larger cities like Jakarta have multiple stations, so make sure you’re booking from and to the correct one.
  • Bring a Copy of Your Ticket
    Keep a printed or digital copy of your e-ticket to scan at the station gates or present to staff if needed.
  • Arrive Early
    Arriving at least 30 minutes before departure helps ensure smooth check-in and boarding.
  • Check Station Names Carefully
    Some station names can be similar, double-check to avoid arriving at the wrong terminal.
  • Select Your Seat (if available)
    Some platforms allow seat selection, so choose window or aisle seats according to your preference.
  • Travel During Off-Peak Hours
    Trains are less crowded and sometimes cheaper during weekdays or mid-day departures, offering a more relaxed travel experience.
Try the new Rail Ninja App today
Get our free app to book & manage your trips on the go
Rail Ninja App

FAQ: What to Know About the Surabaya to Yogyakarta Train

Popular Routes

Would you like to experience a train journey in Indonesia? Choose your perfect ticket from different routes today!

MORE DETAILS
MORE DETAILS
MORE DETAILS
MORE DETAILS
MORE DETAILS
MORE DETAILS