The cheapest and fastest buses from Yogyakarta to Surabaya
Cheapest price
$7
Average price
$13
Fastest journey
5 h 59 m
Average duration
5 h 59 m
Buses per day
38
Distance
270 km
The best way to find a cheap bus ticket from Yogyakarta to Surabaya is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from Yogyakarta to Surabaya will cost around $13 if you buy it on the day, but the cheapest tickets can be found for only $7.
Of the 38 buses that leave Yogyakarta for Surabaya on Thu, Nov 13, 38 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Thu, Nov 13 the direct buses cover the 270 km distance in an average of 5 h 59 m but if you time it right, some buses will get you there in just 5 h 59 m .
On Thu, Nov 13 the slowest buses will take 5 h 59 m 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 SEJAHTERA
SUGENG RAHAYU
SUGENG RAHAYU
SUGENG RAHAYU
SUGENG RAHAYU
MILA SEJAHTERA
SUGENG RAHAYU
SUGENG RAHAYU
SUGENG RAHAYU
SUGENG RAHAYUTravel Information
Compare train, bus, and flight for Yogyakarta to Surabaya
Omio recommends booking the bus as it is the most popular option from Yogyakarta to Surabaya among Omio's users. If you are prioritising price take the train with prices starting from €5. For those with little time consider booking a flight which can get you there in 5h 3m. The ticket price range depends on the travel mode: a train costs an average of €5, and a flight costs an average of €41.
Distance: 167 miles (270 km)
Compare bus with
Most popular Bus | Flight | Train |
|---|---|---|
€6 Average price | €84 Average price | €5 Average price Cheapest |
6h 49m Average total duration 6h 19m Onboard + 30m Additional time* | 8h 3m Average total duration Fastest 5h 3m Onboard + 3h 0m Additional time* | 6h 16m Average total duration 5h 46m Onboard + 30m Additional time* |
Direct Options | Direct Options | Direct Options |
Yogyakarta to Surabaya Bus Timetables
| Operator | Departure Time | Arrival Time | Duration | Departure days | Cheapest price |
|---|---|---|---|---|---|
Operator Daytrans | Departure Time 04:00AM | Arrival Time 12:46PM | Duration 8h46 | Departure days Wed, Thu, Fri, Sat, Sun | Cheapest price $14 |
Operator Daytrans | Departure Time 05:00AM | Arrival Time 01:06PM | Duration 8h06 | Departure days Wed, Thu, Fri, Sat, Sun | Cheapest price $14 |
Operator Daytrans | Departure Time 06:00AM | Arrival Time 03:27PM | Duration 9h27 | Departure days Wed, Thu, Fri, Sat, Sun | Cheapest price $14 |
Operator Daytrans | Departure Time 07:00AM | Arrival Time 03:46PM | Duration 8h46 | Departure days Wed, Thu, Fri, Sat, Sun | Cheapest price $14 |
Operator Daytrans | Departure Time 08:00AM | Arrival Time 04:46PM | Duration 8h46 | Departure days Wed, Thu, Fri, Sat, Sun | Cheapest price $14 |
Operator Daytrans | Departure Time 09:30AM | Arrival Time 06:16PM | Duration 8h46 | Departure days Wed, Thu, Fri, Sat, Sun | Cheapest price $14 |
Operator Daytrans | Departure Time 11:00AM | Arrival Time 08:27PM | Duration 9h27 | Departure days Wed, Thu, Fri, Sat, Sun | Cheapest price $14 |
Operator AKAS MILA SEJAHTERA | Departure Time 12:15PM | Arrival Time 06:14PM | Duration 5h59 | Departure days Wed, Thu, Fri, Sat, Sun | Cheapest price $7 |
Operator Sugeng Rahayu | Departure Time 01:47PM | Arrival Time 07:46PM | Duration 5h59 | Departure days Wed, Thu, Fri, Sat, Sun | Cheapest price $9 |
Operator Daytrans | Departure Time 02:00PM | Arrival Time 11:27PM | Duration 9h27 | Departure days Wed, Thu, Fri, Sat, Sun | Cheapest price $14 |
Operator Daytrans | Departure Time 03:00PM | Arrival Time 11:46PM | Duration 8h46 | Departure days Wed, Thu, Fri, Sat, Sun | Cheapest price $14 |
Operator Daytrans | Departure Time 04:00PM | Arrival Time 12:46AM | Duration 8h46 | Departure days Wed, Thu, Fri, Sat, Sun | Cheapest price $14 |
Operator Majestic Travel | Departure Time 05:00PM | Arrival Time 11:25PM | Duration 6h25 | Departure days Wed, Thu, Fri, Sat, Sun | Cheapest price $16 |
Operator Nugi Trans Mandiri | Departure Time 05:00PM | Arrival Time 11:25PM | Duration 6h25 | Departure days Wed, Thu, Fri, Sat, Sun | Cheapest price $18 |
Operator Daytrans | Departure Time 05:30PM | Arrival Time 02:16AM | Duration 8h46 | Departure days Wed, Thu, Fri, Sat, Sun | Cheapest price $14 |
Operator PAPUMA TOUR & TRAVEL | Departure Time 06:00PM | Arrival Time 12:25AM | Duration 6h25 | Departure days Wed, Thu, Fri, Sat, Sun | Cheapest price $18 |
Operator Sugeng Rahayu | Departure Time 06:06PM | Arrival Time 12:05AM | Duration 5h59 | Departure days Wed, Thu, Fri, Sat, Sun | Cheapest price $9 |
Operator Daytrans | Departure Time 06:30PM | Arrival Time 03:57AM | Duration 9h27 | Departure days Wed, Thu, Fri, Sat, Sun | Cheapest price $14 |
Operator Daytrans | Departure Time 07:30PM | Arrival Time 04:16AM | Duration 8h46 | Departure days Wed, Thu, Fri, Sat, Sun | Cheapest price $14 |
Operator Infobus | Departure Time 08:00PM | Arrival Time 01:20AM | Duration 5h20 | Departure days Mon | Cheapest price $21 |
Operator Daytrans | Departure Time 08:30PM | Arrival Time 05:16AM | Duration 8h46 | Departure days Wed, Thu, Fri, Sat, Sun | Cheapest price $14 |
Operator Sugeng Rahayu | Departure Time 08:30PM | Arrival Time 02:29AM | Duration 5h59 | Departure days Wed, Thu, Fri, Sat, Sun | Cheapest price $9 |
Operator Daytrans | Departure Time 09:30PM | Arrival Time 06:16AM | Duration 8h46 | Departure days Wed, Thu, Fri, Sat, Sun | Cheapest price $14 |
Operator Sugeng Rahayu | Departure Time 10:08PM | Arrival Time 04:07AM | Duration 5h59 | Departure days Wed, Thu, Fri, Sat, Sun | Cheapest price $9 |
Live departures
Yogyakarta to Surabaya bus times
The table below shows live departures for Yogyakarta to Surabaya buses for today, Wednesday, November 12. You can also manually refresh the results below to see updated bus journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
PAPUMA TOUR & TRAVEL | 11:00 AM Kota Yogyakarta | 6h25 | 5:25 PM Surabaya | 0 transfersDirect | |
SUGENG RAHAYU | 11:06 AM Yogyakarta, Terminal Giwangan | 5h59 | 5:05 PM Surabaya, Terminal Purabaya/Bungurasih | 0 transfersDirect | |
DAYTRANS | 11:30 AM Yogyakarta, Mantrijeron | 9h27 | 8:57 PM Surabaya, Tegalsari | 0 transfersDirect | |
DAYTRANS | 11:30 AM Yogyakarta, Mantrijeron | 8h46 | 8:16 PM Surabaya, Wonocolo | 0 transfersDirect | |
DAYTRANS | 12:30 PM Yogyakarta, Mantrijeron | 8h46 | 9:16 PM Surabaya, Wonocolo | 0 transfersDirect | |
DAYTRANS | 12:30 PM Yogyakarta, Mantrijeron | 9h27 | 9:57 PM Surabaya, Tegalsari | 0 transfersDirect | |
DAYTRANS | 1:30 PM Yogyakarta, Mantrijeron | 8h46 | 10:16 PM Surabaya, Wonocolo | 0 transfersDirect | |
SUGENG RAHAYU | 1:30 PM Yogyakarta, Terminal Giwangan | 5h59 | 7:29 PM Surabaya, Terminal Purabaya/Bungurasih | 0 transfersDirect | |
DAYTRANS | 1:30 PM Yogyakarta, Mantrijeron | 9h27 | 10:57 PM Surabaya, Tegalsari | 0 transfersDirect | |
DAYTRANS | 2:30 PM Yogyakarta, Mantrijeron | 8h46 | 11:16 PM Surabaya, Wonocolo | 0 transfersDirect | |
DAYTRANS | 2:30 PM Yogyakarta, Mantrijeron | 9h27 | 11:57 PM Surabaya, Tegalsari | 0 transfersDirect | |
SUGENG RAHAYU | 3:08 PM Yogyakarta, Terminal Giwangan | 5h59 | 9:07 PM Surabaya, Terminal Purabaya/Bungurasih | 0 transfersDirect | |
DAYTRANS | 9:00 PM Yogyakarta, Mantrijeron | 8h46 | 5:46 AM Surabaya, Wonocolo | 0 transfersDirect | |
DAYTRANS | 9:00 PM Yogyakarta, Mantrijeron | 9h27 | 6:27 AM Surabaya, Tegalsari | 0 transfersDirect | |
DAYTRANS | 10:00 PM Yogyakarta, Mantrijeron | 8h06 | 6:06 AM Surabaya, Wonocolo | 0 transfersDirect | |
DAYTRANS | 10:00 PM Yogyakarta, Mantrijeron | 9h27 | 7:27 AM Surabaya, Tegalsari | 0 transfersDirect | |
DAYTRANS | 11:00 PM Yogyakarta, Mantrijeron | 9h27 | 8:27 AM Surabaya, Tegalsari | 0 transfersDirect | |
DAYTRANS | 11:00 PM Yogyakarta, Mantrijeron | 8h46 | 7:46 AM Surabaya, Wonocolo | 0 transfersDirect | |
| Thursday, November 13 | |||||
DAYTRANS | 12:00 AM Yogyakarta, Mantrijeron | 8h46 | 8:46 AM Surabaya, Wonocolo | 0 transfersDirect | |
DAYTRANS | 12:00 AM Yogyakarta, Mantrijeron | 9h27 | 9:27 AM Surabaya, Tegalsari | 0 transfersDirect | |
DAYTRANS | 1:00 AM Yogyakarta, Mantrijeron | 8h46 | 9:46 AM Surabaya, Wonocolo | 0 transfersDirect | |
DAYTRANS | 1:00 AM Yogyakarta, Mantrijeron | 9h27 | 10:27 AM Surabaya, Tegalsari | 0 transfersDirect | |
DAYTRANS | 2:30 AM Yogyakarta, Mantrijeron | 8h46 | 11:16 AM Surabaya, Wonocolo | 0 transfersDirect | |
DAYTRANS | 2:30 AM Yogyakarta, Mantrijeron | 9h27 | 11:57 AM Surabaya, Tegalsari | 0 transfersDirect | |
DAYTRANS | 4:00 AM Yogyakarta, Mantrijeron | 9h27 | 1:27 PM Surabaya, Tegalsari | 0 transfersDirect | |
DAYTRANS | 4:00 AM Yogyakarta, Mantrijeron | 8h46 | 12:46 PM Surabaya, Wonocolo | 0 transfersDirect | |
MILA SEJAHTERA | 5:15 AM Yogyakarta, Terminal Giwangan | 5h59 | 11:14 AM Surabaya, Terminal Purabaya/Bungurasih | 0 transfersDirect | |
SUGENG RAHAYU | 6:47 AM Yogyakarta, Terminal Giwangan | 5h59 | 12:46 PM Surabaya, Terminal Purabaya/Bungurasih | 0 transfersDirect | |
DAYTRANS | 7:00 AM Yogyakarta, Mantrijeron | 9h27 | 4:27 PM Surabaya, Tegalsari | 0 transfersDirect | |
DAYTRANS | 7:00 AM Yogyakarta, Mantrijeron | 8h46 | 3:46 PM Surabaya, Wonocolo | 0 transfersDirect | |
DAYTRANS | 8:00 AM Yogyakarta, Mantrijeron | 8h46 | 4:46 PM Surabaya, Wonocolo | 0 transfersDirect | |
DAYTRANS | 8:00 AM Yogyakarta, Mantrijeron | 9h27 | 5:27 PM Surabaya, Tegalsari | 0 transfersDirect | |
DAYTRANS | 9:00 AM Yogyakarta, Mantrijeron | 8h46 | 5:46 PM Surabaya, Wonocolo | 0 transfersDirect | |
DAYTRANS | 9:00 AM Yogyakarta, Mantrijeron | 9h27 | 6:27 PM Surabaya, Tegalsari | 0 transfersDirect | |
MAJESTIC TRAVEL | 10:00 AM Kota Yogyakarta | 6h25 | 4:25 PM Surabaya | 0 transfersDirect | |
NUGI TRANS MANDIRI | 10:00 AM Kota Yogyakarta | 6h25 | 4:25 PM Surabaya | 0 transfersDirect | |
DAYTRANS | 10:30 AM Yogyakarta, Mantrijeron | 8h46 | 7:16 PM Surabaya, Wonocolo | 0 transfersDirect | |
DAYTRANS | 10:30 AM Yogyakarta, Mantrijeron | 9h27 | 7:57 PM Surabaya, Tegalsari | 0 transfersDirect | |
This is the last bus of the day. | |||||
Find all the dates and times for this journey
Compare prices and tickets Yogyakarta to Surabaya by train, bus, or flight
Compare train, bus, 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.
Nov 13
Nov 14
Nov 15
Nov 16
Nov 17
Nov 18
Nov 19
Nov 20
Nov 21
Nov 22
Nov 23
Nov 24
Nov 25
Nov 26
Nov 27
Nov 28
Nov 29
Nov 30
Dec 01
Dec 02
Dec 03
Journey information
Overview: Bus from Yogyakarta to Surabaya
Buses from Yogyakarta to Surabaya run on average 14 times per day, taking around 6h 19m. Cheap bus tickets for this journey start at $7 (€6) but you can travel from only $6 (€5) by train.
There are 14 buses per day. The earliest bus runs at 04:00, the last at 22:08. The fastest bus covers the 167 miles (270 km) distance in 5h 59m.
Distance 167 miles (270 km) |
Average bus duration 6h 19m |
Cheapest ticket price $7 (€6) |
Buses per day 14 |
Direct buses 14 |
Fastest bus 5h 59m |
First bus 04:00 |
Last bus 22:08 |
Bus providers: Nugi Trans Mandiri, Majestic Travel, Sugeng Rahayu, PAPUMA TOUR & TRAVEL from Yogyakarta to SurabayaYou can travel by bus between Yogyakarta to Surabaya with Nugi Trans Mandiri, Majestic Travel, Sugeng Rahayu, PAPUMA TOUR & TRAVEL for as low as $6 (€5). When you search for schedules and tickets, Omio will show you the best journey
Sugeng Rahayu
Majestic Travel
PAPUMA TOUR & TRAVEL
Nugi Trans Mandiri
FAQs: Bus from Yogyakarta to Surabaya
Find answers to the most common questions about traveling from Yogyakarta to Surabaya by bus. 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 bus, the cheapest option, or tips for making the most of your visit at Surabaya, this guide helps you travel smarter and with confidence.

When departing from Yogyakarta, you have various bus station options to start your trip from including Yogyakarta, Bus Terminal Giwangan, Kota Yogyakarta, Yogyakarta, Mantrijeron and Yogyakarta, Kotagede. When arriving in Surabaya, you can end your journey in bus stations like Surabaya Kota, Surabaya, Wonocolo and Surabaya, Tegalsari.
Passengers board the bus most frequently from Yogyakarta, Bus Terminal Giwangan, which is located around 5.7 miles (9.2 km) away from the city centre, and they get off the bus at Surabaya Kota, located 0.8 miles (1.3 km) away from the city centre.
To find the cheapest bus tickets for your trip from Yogyakarta to Surabaya, follow these tips:
Start your search now and compare ticket prices to find the best deal!
- Sugeng Rahayu
- Luggage included in fare; specific size/type not provided.
- Sugeng Rahayu
- Excess luggage and bulky luggage allowed for an additional fee
popular bus stations
Popular bus stations from Yogyakarta to Surabaya
- 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
- Free Wi-Fi in main terminal area
- Parking available for motorcycles and cars with hourly rates
- Local food stalls and restaurants available in and around terminal
- Available at designated taxi stands along Malioboro Street
- Ramps available
- Public toilets available with small fee
- Bus: Trans Jogja lines 1A, 1B, 2A, 2B
- Local minibuses (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
- 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-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
- 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-21:00
- Free Wi-Fi available
- Available in front of terminal
- Local food stalls and small restaurants nearby
- Available at designated taxi stands
- Wheelchair ramps
- Public toilets available
- Bus: City Transport Lines, Inter-city Buses
- Train: Nearby Surabaya Kota Station
- 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)
Most popular bus connections from Yogyakarta
More options for your journey from Yogyakarta to Surabaya
Here are some other resources that might have the information you need




