The cheapest and fastest coaches from Yogyakarta to Surabaya
Cheapest price
$9
Average price
$20
Fastest journey
5 h 30 m
Average duration
5 h 48 m
Buses per day
90
Distance
270 km
The best way to find a cheap coach ticket from Yogyakarta to Surabaya is to book your journey as far in advance as possible and to avoid travelling at rush hour.
The average ticket from Yogyakarta to Surabaya will cost around $20 if you buy it on the day, but you can find cheap coach tickets today for only $9.
Of the 90 buses that leave Yogyakarta for Surabaya every day 90 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
These direct buses cover the 270 km distance in an average of 5 h 48 m but if you time it right, some buses will get you there in just 5 h 30 m .
The slowest buses will take 6 h and usually involve a change or two along the way, but you might be able to save a few pennies if you’re on a budget.
MILA SEJAHTERA12:15 PM5h59Yogyakarta, Bus Terminal Giwangan6:14 PMWaru, Bus Terminal Purabaya/Bungurasih$91One-way0 changes
DAYTRANS3:15 AM6h45Yogyakarta, Kotagede10:00 AMSurabaya, Tegalsari$171One-way0 changes
DAYTRANS3:15 AM6h00Yogyakarta, Kotagede9:15 AMSurabaya, Tenggilis Mejoyo (Rungkut Surabaya)$171One-way0 changes
DAYTRANS3:15 AM6h15Yogyakarta, Kotagede9:30 AMSurabaya, Wonocolo$171One-way0 changes
DAYTRANS8:30 PM7h00Kota Yogyakarta3:30 AMSurabaya, Embong Malang$171One-way0 changes
06:00 AM5h30Yogyakarta11:30 AMSurabaya Kota$261One-way0 changes
07:45 PM5h30Yogyakarta1:15 AMSurabaya Kota$361One-way0 changes
MILA SEJAHTERA12:15 PM5h59Yogyakarta, Bus Terminal Giwangan6:14 PMWaru, Bus Terminal Purabaya/Bungurasih$91One-way0 changes
DAYTRANS3:15 AM6h00Yogyakarta, Kotagede9:15 AMSurabaya, Tenggilis Mejoyo (Rungkut Surabaya)$171One-way0 changes
DAYTRANS8:45 PM6h00Yogyakarta, Kotagede2:45 AMSurabaya, Tenggilis Mejoyo (Rungkut Surabaya)$171One-way0 changes
Travel Information
Compare train, coach and flight for Yogyakarta to Surabaya
Omio recommends booking the coach as it is the most popular option from Yogyakarta to Surabaya among Omio's users. If you are prioritising price take the coach with prices starting from $7. For those with little time consider booking a train which can get you there in 4h 9m. The ticket price range depends on the travel mode: a coach costs an average of $7, and a flight costs an average of $102.
Distance: 270 km
Compare bus with
Most popular Coach | Flight | Train |
|---|---|---|
$11 Average Price Cheapest | $125 Average Price | $20 Average Price |
6h 39m Average total duration 6h 9m Onboard + 30m Additional time* | 9h 53m Average total duration 6h 53m Onboard + 3h 0m Additional time* | 4h 39m Average total duration Fastest 4h 9m Onboard + 30m Additional time* |
Direct Options | Direct Options | Direct Options |
Live departures
Yogyakarta to Surabaya bus times
The table below shows live departures for Yogyakarta to Surabaya coaches for today, Saturday, 11 April. You can also manually refresh the results below to see updated coach journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
DAYTRANS | 1:30 PM Kota Yogyakarta | 7h00 | 8:30 PM Surabaya, Embong Malang | 0 changesdirect | |
DAYTRANS | 1:30 PM Kota Yogyakarta | 6h30 | 8:00 PM Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 1:30 PM Kota Yogyakarta | 6h15 | 7:45 PM Surabaya, Tenggilis Mejoyo (Rungkut Surabaya) | 0 changesdirect | |
DAYTRANS | 1:45 PM Yogyakarta, Kotagede | 6h15 | 8:00 PM Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 1:45 PM Yogyakarta, Kotagede | 6h00 | 7:45 PM Surabaya, Tenggilis Mejoyo (Rungkut Surabaya) | 0 changesdirect | |
DAYTRANS | 1:45 PM Yogyakarta, Kotagede | 6h45 | 8:30 PM Surabaya, Embong Malang | 0 changesdirect | |
DAYTRANS | 2:30 PM Kota Yogyakarta | 6h15 | 8:45 PM Surabaya, Tenggilis Mejoyo (Rungkut Surabaya) | 0 changesdirect | |
DAYTRANS | 2:30 PM Kota Yogyakarta | 7h00 | 9:30 PM Surabaya, Embong Malang | 0 changesdirect | |
DAYTRANS | 2:30 PM Kota Yogyakarta | 6h30 | 9:00 PM Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 2:45 PM Yogyakarta, Kotagede | 6h00 | 8:45 PM Surabaya, Tenggilis Mejoyo (Rungkut Surabaya) | 0 changesdirect | |
DAYTRANS | 2:45 PM Yogyakarta, Kotagede | 6h45 | 9:30 PM Surabaya, Embong Malang | 0 changesdirect | |
DAYTRANS | 2:45 PM Yogyakarta, Kotagede | 6h15 | 9:00 PM Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 8:00 PM Kota Yogyakarta | 6h30 | 2:30 AM Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 8:00 PM Kota Yogyakarta | 7h00 | 3:00 AM Surabaya, Embong Malang | 0 changesdirect | |
DAYTRANS | 8:00 PM Kota Yogyakarta | 6h15 | 2:15 AM Surabaya, Tenggilis Mejoyo (Rungkut Surabaya) | 0 changesdirect | |
DAYTRANS | 8:15 PM Yogyakarta, Kotagede | 6h45 | 3:00 AM Surabaya, Tegalsari | 0 changesdirect | |
DAYTRANS | 8:15 PM Yogyakarta, Kotagede | 6h00 | 2:15 AM Surabaya, Tenggilis Mejoyo (Rungkut Surabaya) | 0 changesdirect | |
DAYTRANS | 8:15 PM Yogyakarta, Kotagede | 6h15 | 2:30 AM Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 9:00 PM Kota Yogyakarta | 6h15 | 3:15 AM Surabaya, Tenggilis Mejoyo (Rungkut Surabaya) | 0 changesdirect | |
DAYTRANS | 9:00 PM Kota Yogyakarta | 7h00 | 4:00 AM Surabaya, Embong Malang | 0 changesdirect | |
DAYTRANS | 9:00 PM Kota Yogyakarta | 6h30 | 3:30 AM Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 10:00 PM Kota Yogyakarta | 6h15 | 4:15 AM Surabaya, Tenggilis Mejoyo (Rungkut Surabaya) | 0 changesdirect | |
DAYTRANS | 10:00 PM Kota Yogyakarta | 6h00 | 4:00 AM Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 10:00 PM Kota Yogyakarta | 7h00 | 5:00 AM Surabaya, Embong Malang | 0 changesdirect | |
DAYTRANS | 11:00 PM Kota Yogyakarta | 6h15 | 5:15 AM Surabaya, Tenggilis Mejoyo (Rungkut Surabaya) | 0 changesdirect | |
0 | 11:00 PM Yogyakarta | 5h30 | 4:30 AM Surabaya Kota | 0 changesdirect | |
DAYTRANS | 11:00 PM Kota Yogyakarta | 6h30 | 5:30 AM Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 11:00 PM Kota Yogyakarta | 7h00 | 6:00 AM Surabaya, Embong Malang | 0 changesdirect | |
| Sunday, 12 April | |||||
DAYTRANS | 12:00 AM Kota Yogyakarta | 6h30 | 6:30 AM Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 12:00 AM Kota Yogyakarta | 6h15 | 6:15 AM Surabaya, Tenggilis Mejoyo (Rungkut Surabaya) | 0 changesdirect | |
DAYTRANS | 12:00 AM Kota Yogyakarta | 7h00 | 7:00 AM Surabaya, Embong Malang | 0 changesdirect | |
DAYTRANS | 12:15 AM Yogyakarta, Kotagede | 6h00 | 6:15 AM Surabaya, Tenggilis Mejoyo (Rungkut Surabaya) | 0 changesdirect | |
DAYTRANS | 12:15 AM Yogyakarta, Kotagede | 6h15 | 6:30 AM Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 12:15 AM Yogyakarta, Kotagede | 6h45 | 7:00 AM Surabaya, Embong Malang | 0 changesdirect | |
DAYTRANS | 1:00 AM Kota Yogyakarta | 6h15 | 7:15 AM Surabaya, Tenggilis Mejoyo (Rungkut Surabaya) | 0 changesdirect | |
DAYTRANS | 1:00 AM Kota Yogyakarta | 7h00 | 8:00 AM Surabaya, Embong Malang | 0 changesdirect | |
DAYTRANS | 1:00 AM Kota Yogyakarta | 6h30 | 7:30 AM Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 1:15 AM Yogyakarta, Kotagede | 6h45 | 8:00 AM Surabaya, Embong Malang | 0 changesdirect | |
DAYTRANS | 1:15 AM Yogyakarta, Kotagede | 6h15 | 7:30 AM Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 1:15 AM Yogyakarta, Kotagede | 6h00 | 7:15 AM Surabaya, Tenggilis Mejoyo (Rungkut Surabaya) | 0 changesdirect | |
DAYTRANS | 2:30 AM Kota Yogyakarta | 7h00 | 9:30 AM Surabaya, Embong Malang | 0 changesdirect | |
DAYTRANS | 2:30 AM Kota Yogyakarta | 6h15 | 8:45 AM Surabaya, Tenggilis Mejoyo (Rungkut Surabaya) | 0 changesdirect | |
DAYTRANS | 2:30 AM Kota Yogyakarta | 6h30 | 9:00 AM Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 2:45 AM Yogyakarta, Kotagede | 6h00 | 8:45 AM Surabaya, Tenggilis Mejoyo (Rungkut Surabaya) | 0 changesdirect | |
DAYTRANS | 2:45 AM Yogyakarta, Kotagede | 6h45 | 9:30 AM Surabaya, Embong Malang | 0 changesdirect | |
DAYTRANS | 2:45 AM Yogyakarta, Kotagede | 6h15 | 9:00 AM Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 4:00 AM Kota Yogyakarta | 7h00 | 11:00 AM Surabaya, Embong Malang | 0 changesdirect | |
DAYTRANS | 4:00 AM Kota Yogyakarta | 6h30 | 10:30 AM Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 4:00 AM Kota Yogyakarta | 6h15 | 10:15 AM Surabaya, Tenggilis Mejoyo (Rungkut Surabaya) | 0 changesdirect | |
DAYTRANS | 4:15 AM Yogyakarta, Kotagede | 6h15 | 10:30 AM Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 4:15 AM Yogyakarta, Kotagede | 6h45 | 11:00 AM Surabaya, Embong Malang | 0 changesdirect | |
DAYTRANS | 4:15 AM Yogyakarta, Kotagede | 6h00 | 10:15 AM Surabaya, Tenggilis Mejoyo (Rungkut Surabaya) | 0 changesdirect | |
MILA SEJAHTERA | 5:15 AM Yogyakarta, Bus Terminal Giwangan | 5h59 | 11:14 AM Waru, Bus Terminal Purabaya/Bungurasih | 0 changesdirect | |
DAYTRANS | 7:00 AM Kota Yogyakarta | 6h30 | 1:30 PM Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 7:00 AM Kota Yogyakarta | 6h15 | 1:15 PM Surabaya, Tenggilis Mejoyo (Rungkut Surabaya) | 0 changesdirect | |
DAYTRANS | 7:00 AM Kota Yogyakarta | 7h00 | 2:00 PM Surabaya, Embong Malang | 0 changesdirect | |
DAYTRANS | 7:15 AM Yogyakarta, Kotagede | 6h45 | 2:00 PM Surabaya, Embong Malang | 0 changesdirect | |
DAYTRANS | 7:15 AM Yogyakarta, Kotagede | 6h00 | 1:15 PM Surabaya, Tenggilis Mejoyo (Rungkut Surabaya) | 0 changesdirect | |
DAYTRANS | 7:15 AM Yogyakarta, Kotagede | 6h15 | 1:30 PM Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 8:00 AM Kota Yogyakarta | 6h25 | 2:25 PM Surabaya, Tenggilis Mejoyo (Rungkut Surabaya) | 0 changesdirect | |
DAYTRANS | 8:00 AM Kota Yogyakarta | 6h40 | 2:40 PM Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 8:00 AM Kota Yogyakarta | 7h00 | 3:00 PM Surabaya, Embong Malang | 0 changesdirect | |
DAYTRANS | 8:15 AM Yogyakarta, Kotagede | 6h10 | 2:25 PM Surabaya, Tenggilis Mejoyo (Rungkut Surabaya) | 0 changesdirect | |
DAYTRANS | 8:15 AM Yogyakarta, Kotagede | 6h25 | 2:40 PM Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 8:15 AM Yogyakarta, Kotagede | 6h45 | 3:00 PM Surabaya, Embong Malang | 0 changesdirect | |
DAYTRANS | 9:00 AM Kota Yogyakarta | 7h00 | 4:00 PM Surabaya, Embong Malang | 0 changesdirect | |
DAYTRANS | 9:00 AM Kota Yogyakarta | 6h25 | 3:25 PM Surabaya, Tenggilis Mejoyo (Rungkut Surabaya) | 0 changesdirect | |
DAYTRANS | 9:00 AM Kota Yogyakarta | 6h40 | 3:40 PM Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 9:15 AM Yogyakarta, Kotagede | 6h10 | 3:25 PM Surabaya, Tenggilis Mejoyo (Rungkut Surabaya) | 0 changesdirect | |
DAYTRANS | 9:15 AM Yogyakarta, Kotagede | 6h25 | 3:40 PM Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 9:15 AM Yogyakarta, Kotagede | 6h45 | 4:00 PM Surabaya, Embong Malang | 0 changesdirect | |
DAYTRANS | 10:30 AM Kota Yogyakarta | 6h30 | 5:00 PM Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 10:30 AM Kota Yogyakarta | 6h15 | 4:45 PM Surabaya, Tenggilis Mejoyo (Rungkut Surabaya) | 0 changesdirect | |
DAYTRANS | 10:30 AM Kota Yogyakarta | 7h00 | 5:30 PM Surabaya, Embong Malang | 0 changesdirect | |
DAYTRANS | 10:45 AM Yogyakarta, Kotagede | 6h45 | 5:30 PM Surabaya, Embong Malang | 0 changesdirect | |
DAYTRANS | 10:45 AM Yogyakarta, Kotagede | 6h15 | 5:00 PM Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 10:45 AM Yogyakarta, Kotagede | 6h00 | 4:45 PM Surabaya, Tenggilis Mejoyo (Rungkut Surabaya) | 0 changesdirect | |
DAYTRANS | 11:30 AM Kota Yogyakarta | 6h30 | 6:00 PM Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 11:30 AM Kota Yogyakarta | 6h15 | 5:45 PM Surabaya, Tenggilis Mejoyo (Rungkut Surabaya) | 0 changesdirect | |
DAYTRANS | 11:30 AM Kota Yogyakarta | 7h00 | 6:30 PM Surabaya, Embong Malang | 0 changesdirect | |
DAYTRANS | 11:45 AM Yogyakarta, Kotagede | 6h00 | 5:45 PM Surabaya, Tenggilis Mejoyo (Rungkut Surabaya) | 0 changesdirect | |
DAYTRANS | 11:45 AM Yogyakarta, Kotagede | 6h15 | 6:00 PM Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 11:45 AM Yogyakarta, Kotagede | 6h45 | 6:30 PM Surabaya, Embong Malang | 0 changesdirect | |
DAYTRANS | 12:30 PM Kota Yogyakarta | 7h00 | 7:30 PM Surabaya, Embong Malang | 0 changesdirect | |
DAYTRANS | 12:30 PM Kota Yogyakarta | 6h15 | 6:45 PM Surabaya, Tenggilis Mejoyo (Rungkut Surabaya) | 0 changesdirect | |
DAYTRANS | 12:30 PM Kota Yogyakarta | 6h30 | 7:00 PM Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 12:45 PM Yogyakarta, Kotagede | 6h45 | 7:30 PM Surabaya, Embong Malang | 0 changesdirect | |
0 | 12:45 PM Yogyakarta | 5h30 | 6:15 PM Surabaya Kota | 0 changesdirect | |
DAYTRANS | 12:45 PM Yogyakarta, Kotagede | 6h00 | 6:45 PM Surabaya, Tenggilis Mejoyo (Rungkut Surabaya) | 0 changesdirect | |
DAYTRANS | 12:45 PM Yogyakarta, Kotagede | 6h15 | 7:00 PM Surabaya, Wonocolo | 0 changesdirect | |
Find all the dates and times for this journey
Compare prices and tickets Yogyakarta to Surabaya by train, coach or flight
Compare train, coach and flight prices over the next three weeks. See the best deals at a glance, find the lowest fares, and choose the option that fits your budget.
12 Apr
13 Apr
14 Apr
15 Apr
16 Apr
17 Apr
18 Apr
Why should you book Yogyakarta to Surabaya coaches with Omio?
Why book with Omio vs Daytrans?
- Compare with other providers: On Omio, you can not only buy tickets for Daytrans, but also compare tickets for the likes of AKAS MILA SEJAHTERA, Nugi Trans Mandiri, Majestic Travel or Infobus to find the best option for your trip from Yogyakarta to Surabaya.
- Designed for International Travelers: Omio is in your language including 24/7 customer service and offers multiple payment options, including PayPal, credit cards, and bank transfer, in your preferred currency.
- Compare all your options: Omio allows you to compare Daytrans with all available travel options, which are train, bus and flight to ensure you get the best deal for traveling from Yogyakarta to Surabaya.
Why book with Omio over Checkmybus, Rome2rio or Busbud?
- Multiple modes of transport: Omio allows you to compare travel options including train, bus and flight to find the ideal travel option from Yogyakarta to Surabaya.
Journey information
Overview: Bus from Yogyakarta to Surabaya
Buses from Yogyakarta to Surabaya run on average 24 times per day, taking around 6h 14m. Cheap bus tickets for this journey start at $7 if you book in advance.
There are 24 coaches per day. The earliest coach runs at 03:00, the last at 22:08. The fastest coach covers the 270 km distance in 5h 30m.
Distance 270 km |
Average bus duration 6h 14m |
Cheapest ticket price $7 |
Buses per day 24 |
Direct buses 24 |
Fastest bus 5h 30m |
First bus 3:00 AM |
Last bus 10:08 PM |
Bus providers: Daytrans, AKAS MILA SEJAHTERA, Nugi Trans Mandiri, Majestic Travel, Infobus, Sugeng Rahayu, PAPUMA TOUR & TRAVEL from Yogyakarta to SurabayaYou can travel by bus between Yogyakarta to Surabaya with Daytrans, AKAS MILA SEJAHTERA, Nugi Trans Mandiri, Majestic Travel, Infobus, Sugeng Rahayu, PAPUMA TOUR & TRAVEL for as low as $7. When you search for schedules and tickets, Omio will show you the best journey
Infobus
Daytrans
AKAS MILA SEJAHTERA
Sugeng Rahayu
Majestic Travel
PAPUMA TOUR & TRAVEL
Nugi Trans Mandiri
FAQs: Yogyakarta to Surabaya coach
Find answers to the most common questions about traveling from Yogyakarta to Surabaya by coach. From journey times and ticket prices to direct connections, first and last departures, and even whether the route is scenic, our FAQs cover everything you need to plan your trip. Whether you’re looking for the fastest coach, the cheapest option, or tips for making the most of your visit at Surabaya, this guide helps you travel smarter and with confidence.

- Infobus
- Assistance
- Priority seating
- Transport for wheelchairs and mobility aids.
- Infobus
- You can cancel your ticket up to 24 hours before departure for a partial refund. Cancellations within 24 hours may incur a fee.
- Infobus
- One carry-on bag up to 5kg (40x20x25) and one checked bag up to 20kg (50x30x80).
- AKAS MILA SEJAHTERA
- Luggage included in fare
- specific size/type not provided.
- Daytrans
- Luggage included in fare
- specific size/type not provided.
- Sugeng Rahayu
- Excess luggage and bulky luggage allowed for an additional fee
- Infobus
- 10€ per additional bag.
- Daytrans
- Excess luggage and bulky luggage allowed for an additional fee
- Infobus
- Small pets allowed in carriers
- larger pets may require a separate ticket.
popular bus stations
Important Stations and Airports in Yogyakarta and Surabaya
- 05:00-21:00
- Street parking available
- Local food stalls and small restaurants nearby
- Available at designated taxi stand
- Basic ramps available
- Public toilets available
- Bus: Trans Jogja 1A, 2A, 3A
- Local minibus (angkot)
- 05:00-21:00
- Street parking available for motorcycles and cars
- Small local food stalls and street vendors near the terminal
- Available at the terminal entrance
- Basic ramps available
- Basic public toilets available
- Bus: Trans Jogja 3A, 3B
- Local minibus: P6, P7
- 04:00-24:00
- Free Wi-Fi available in main terminal
- Available for cars and motorcycles with hourly rates
- Food court and street food vendors available
- Available at designated taxi stand
- Wheelchair ramps and assistance available
- Public toilets available for a small fee
- Bus: Trans Jogja 1A, 3A, 3B
- Local minibus (angkot)
- 05:00-21:00
- Street parking available
- Small local food stalls and vendors nearby
- Available at designated taxi stands
- Basic ramps available
- Basic public facilities available
- Bus: P4, P8, PAC8
- 05:00-22:00
- Street parking available
- Local food stalls and small restaurants nearby
- Available at designated taxi stands
- Basic ramps
- Public toilets available
- Bus: P1, P4, P8
- Angkot: WK, DP
- 04:00-24:00
- Free Wi-Fi available in terminal
- Large parking area available for cars and motorcycles
- Food court and various food stalls available
- Available at designated taxi stand
- Wheelchair ramps, assistance available
- Public toilets available with fee
- Bus: City buses, intercity buses
- Angkot (shared taxi)
More options for your journey from Yogyakarta to Surabaya
Here are some other resources that might have the information you need
