There are 8 ways to get from Gresik 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.
Train
best- Take the train from Surabaya Gubeng to Yogyakartatrain Sancaka / ...
4h 18mRp 313,035–487,223Shuttle
cheapest- Take a shuttle bus from Surabaya to YogyakartaSurabaya
4h 10mRp 200,000–250,000Bus
- Take the bus from Surabaya Eka Cepat to Yogyakarta Giwandanbus
6h 19mRp 317,818–373,785Drive 323.8 km
- Drive from Gresik to Yogyakartacar 323.8 km
3h 42mRp 643,084–928,899Taxi
- Take the taxi from Gresik to Yogyakartataxi 323.8 km
3h 42mRp 1,900,000–2,300,000Fly to Adisutjipto International Airport
- Fly from Juanda International Airport (SUB) to Adisutjipto International Airport (JOG)plane SUB - JOG
5h 15mRp 1,645,456–3,689,430Fly 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 23mRp 2,461,856–2,935,830Fly 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,463,857–4,112,831
Juanda International Airport (SUB) to Adisutjipto International Airport (JOG) flights
Comparing Your Travel Options
The cheapest way to get from Gresik to Yogyakarta is to shuttle which costs Rp200000 - Rp250000 and takes 4h 10m.
The fastest way to get from Gresik to Yogyakarta is to drive which takes 3h 42m and costs Rp600000 - Rp950000.
No, there is no direct bus from Gresik to Yogyakarta. However, there are services departing from Surabaya Eka Cepat and arriving at Yogyakarta Giwandan via . The journey, including transfers, takes approximately 6h 19m.
No, there is no direct train from Gresik to Yogyakarta. However, there are services departing from Surabaya Gubeng and arriving at Yogyakarta via . The journey, including transfers, takes approximately 4h 18m.
The distance between Gresik and Yogyakarta is 332 km. The road distance is 323.8 km.
The best way to get from Gresik to Yogyakarta without a car is to train which takes 4h 18m and costs Rp310000 - Rp490000.
It takes approximately 4h 18m to get from Gresik to Yogyakarta, including transfers.
Gresik to Yogyakarta bus services, operated by Eka Cepat, depart from Surabaya Eka Cepat station.
Gresik to Yogyakarta train services, operated by Kereta API, depart from Surabaya Gubeng station.
The best way to get from Gresik to Yogyakarta is to train which takes 4h 18m and costs Rp310000 - Rp490000. Alternatively, you can bus, which costs Rp310000 - Rp380000 and takes 6h 19m, you could also fly, which costs Rp1600000 - Rp3700000 and takes 5h 15m.
What companies run services between Gresik, 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 Surabaya Eka Cepat to Yogyakarta Giwandan 3 times a day. Tickets cost Rp 120,000–140,000 and the journey takes 5h 53m.
- 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,400,000–4,400,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,000,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,200,000–2,800,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,300,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
- Phone
- (031) 88198899
Bus from Surabaya Eka Cepat to Yogyakarta Giwandan
- Ave. Duration
- 5h 53m
- Frequency
- 3 times a day
- Estimated price
- Rp 120,000–140,000
- Schedules at
- ekapatas.com
- Book at
- redbus.id
- Ave. Duration
- 3h 42m
- Estimated price
- Rp 1,900,000–2,300,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 Travelling by boat in Italy, Travelling around the UAE, 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
Gresik to Yogyakarta bus services, operated by Eka Cepat, arrive at Yogyakarta Giwandan station.
Gresik to Yogyakarta train services, operated by Kereta API, arrive at Yogyakarta station.
Yes, the driving distance between Gresik to Yogyakarta is 324 km. It takes approximately 3h 42m to drive from Gresik to Yogyakarta.
There are 2432+ hotels available in Yogyakarta.






