There are 8 ways to get from Surabaya to Bantul 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.
Train
best- Take the train from Surabaya Gubeng to Yogyakartatrain Sancaka / ...
4h 14mRp 272,993–437,467Bus
cheapest- Take the bus from Terminal Purabaya to Yogyakarta Giwandanbus
7h 42mRp 201,230–555,000Drive 334.6 km
- Drive from Surabaya to Bantulcar 334.6 km
3h 53mRp 660,680–954,315Taxi
- Take the taxi from Surabaya to Bantultaxi 334.6 km
3h 53mRp 2,000,000–2,400,000Fly to Adisutjipto International Airport
- Fly from Juanda International Airport (SUB) to Adisutjipto International Airport (JOG)plane SUB - JOG
4h 49mRp 1,886,191–3,850,953Fly to Yogyakarta International Airport, train
- Fly from Juanda International Airport (SUB) to Yogyakarta International Airport (YIA)plane SUB - YIA
- Take the train from Yogyakarta International Airport to Yogyakarta Tugu Stationtrain
5h 24mRp 2,341,191–2,920,953Fly to Adisumarmo International Airport, train
- Fly from Juanda International Airport (SUB) to Adisumarmo International Airport (SOC)plane SUB - SOC
- Take the train from Solo Balapan to Yogyakartatrain
5h 49mRp 1,643,191–3,697,953Shuttle
- Take a shuttle bus from Surabaya to YogyakartaSurabaya
3h 10mRp 275,000–345,000
Juanda International Airport (SUB) to Adisutjipto International Airport (JOG) flights
Questions & Answers
The cheapest way to get from Surabaya to Bantul is to shuttle which costs Rp270000 - Rp350000 and takes 3h 10m.
The fastest way to get from Surabaya to Bantul is to shuttle which takes 3h 10m and costs Rp270000 - Rp350000.
No, there is no direct bus from Surabaya to Bantul. However, there are services departing from Terminal Purabaya and arriving at Yogyakarta Giwandan via . The journey, including transfers, takes approximately 7h 42m.
No, there is no direct train from Surabaya to Bantul. However, there are services departing from Surabaya Gubeng and arriving at Yogyakarta via . The journey, including transfers, takes approximately 4h 14m.
The distance between Surabaya and Bantul is 323 km. The road distance is 334.6 km.
The best way to get from Surabaya to Bantul without a car is to train which takes 4h 14m and costs Rp270000 - Rp440000.
It takes approximately 4h 14m to get from Surabaya to Bantul, including transfers.
Surabaya to Bantul bus services, operated by Eka Cepat, depart from Terminal Purabaya station.
Surabaya to Bantul train services, operated by Kereta API, depart from Surabaya Gubeng station.
The best way to get from Surabaya to Bantul is to train which takes 4h 14m and costs Rp270000 - Rp440000. Alternatively, you can bus, which costs Rp200000 - Rp600000 and takes 7h 42m, you could also fly, which costs Rp1800000 - Rp3900000 and takes 4h 49m.
What companies run services between Surabaya, Indonesia and Bantul, 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 120,000–140,000 and the journey takes 6h.
- Website
- citilink.co.id
Flights from Juanda International Airport to Adisutjipto International Airport via Jakarta Halim Perdana Kusuma
- Ave. Duration
- 5h 5m
- When
- Every day
- Estimated price
- Rp 1,600,000–6,000,000
Flights from Juanda International Airport to Adisutjipto International Airport via Ngurah Rai, Jakarta Halim Perdana Kusuma
- Ave. Duration
- 9h 10m
- When
- Monday, Wednesday, Friday, and Sunday
- Estimated price
- Rp 2,200,000–3,800,000
Flights from Juanda International Airport to Yogyakarta International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 37m
- When
- Every day
- Estimated price
- Rp 1,300,000–2,900,000
Flights from Juanda International Airport to Adisumarmo International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 5m
- When
- Every day
- Estimated price
- Rp 1,400,000–3,100,000
- Website
- lionair.co.id
Flights from Juanda International Airport to Yogyakarta International Airport via Sultan Hasanuddin
- Ave. Duration
- 5h 16m
- When
- Every day
- Estimated price
- Rp 2,300,000–4,500,000
Flights from Juanda International Airport to Yogyakarta International Airport via Soekarno–Hatta
- Ave. Duration
- 5h
- When
- Saturday
- Estimated price
- Rp 1,500,000–4,100,000
Flights from Juanda International Airport to Adisumarmo International Airport via Soekarno–Hatta
- Ave. Duration
- 6h 45m
- When
- Friday
- Estimated price
- Rp 1,600,000–4,200,000
- Website
- garuda-indonesia.com
Flights from Juanda International Airport to Yogyakarta International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 21m
- When
- Every day
- Estimated price
- Rp 1,800,000–4,800,000
Flights from Juanda International Airport to Adisumarmo International Airport via Soekarno–Hatta
- Ave. Duration
- 6h 50m
- When
- Every day
- Estimated price
- Rp 1,900,000–5,500,000
- Website
- batikair.com
Flights from Juanda International Airport to Yogyakarta International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 5m
- When
- Every day
- Estimated price
- Rp 1,900,000–5,000,000
Flights from Juanda International Airport to Adisumarmo International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 20m
- When
- Every day
- Estimated price
- Rp 2,100,000–5,500,000
- Website
- superairjet.com
Flights from Juanda International Airport to Yogyakarta International Airport via Supadio
- Ave. Duration
- 4h 25m
- When
- Every day
- Estimated price
- Rp 2,000,000–4,000,000
Flights from Juanda International Airport to Yogyakarta International Airport via Sultan Aji Muhammad Sulaiman
- Ave. Duration
- 4h 25m
- When
- Every day
- Estimated price
- Rp 2,100,000–4,100,000
Flights from Juanda International Airport to Yogyakarta International Airport via Palangkaraya
- Ave. Duration
- 5h 15m
- When
- Monday, Wednesday, Friday, and Sunday
- Estimated price
- Rp 1,700,000–3,700,000
Flights from Juanda International Airport to Adisumarmo International Airport via Ngurah Rai
- Ave. Duration
- 4h 30m
- When
- Every day
- Estimated price
- Rp 1,300,000–3,400,000
- Website
- air-connect.com
Flights from Juanda International Airport to Adisutjipto International Airport via Jakarta Halim Perdana Kusuma
- Ave. Duration
- 4h 20m
- When
- Sunday
- Estimated price
- Rp 2,300,000–6,000,000
- Website
- pelita-air.com
Flights from Juanda International Airport to Yogyakarta International Airport via Soekarno–Hatta
- Ave. Duration
- 4h
- When
- Every day
- Estimated price
- Rp 1,500,000–2,700,000
- Phone
- 021-121
- [email protected]
- Website
- kai.id
Train from Surabaya Gubeng to Yogyakarta
- Ave. Duration
- 4h
- Frequency
- Every 3 hours
- Estimated price
- Rp 180,000–330,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 180,000–330,000
- Business
- Rp 380,000–550,000
- Executive
- Rp 340,000–700,000
Train from Solo Balapan to Yogyakarta
- Ave. Duration
- 33 min
- Frequency
- Hourly
- Estimated price
- Rp 36,000–320,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 36,000–320,000
- Business
- Rp 290,000–550,000
- Executive
- Rp 65,000–650,000
- [email protected]
- Website
- railink.co.id
Train from Yogyakarta International Airport to Yogyakarta Tugu Station
- Ave. Duration
- 35 min
- Frequency
- Hourly
- Estimated price
- Rp 20,000–50,000
- Schedules at
- railink.co.id
- [email protected]
- Website
- kai.id
Train from Solo Balapan to Yogyakarta
- Ave. Duration
- 1h 15m
- Frequency
- Every 3 hours
- Estimated price
- Rp 15,000
- Schedules at
- kai.id
- Phone
- (031) 88198899
Bus from Terminal Purabaya to Yogyakarta Giwandan
- Ave. Duration
- 6h
- Frequency
- 3 times a day
- Estimated price
- Rp 120,000–140,000
- Schedules at
- ekapatas.com
- Book at
- redbus.id
- [email protected]
- Website
- indahjayatrans.com
Shuttle from Surabaya to Yogyakarta
- Ave. Duration
- 3h
- Frequency
- 4 times a day
- Estimated price
- Rp 200,000–250,000
- Schedules at
- indahjayatrans.com
- Ave. Duration
- 3h 53m
- Estimated price
- Rp 2,000,000–2,400,000
Blue Bird Group
- Phone
- +62 313 721234
- Website
- bluebirdgroup.com
Grab Taxi
- Website
- grab.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 How to get from London to Edinburgh, Travelling to and around Russia for the 2018 FIFA World Cup, and Travelling Croatia’s Dalmatian Coast by boat, bus, car and train - to help you get the most out of your next trip.
More Questions & Answers
Surabaya to Bantul bus services, operated by Eka Cepat, arrive at Yogyakarta Giwandan station.
Surabaya to Bantul train services, operated by Kereta API, arrive at Yogyakarta station.
Yes, the driving distance between Surabaya to Bantul is 335 km. It takes approximately 3h 53m to drive from Surabaya to Bantul.
There are 2279+ hotels available in Bantul.










