The cheapest and fastest buses from Yogyakarta to Surabaya
Cheapest price
$8
Average price
$16
Fastest journey
5 h 30 m
Average duration
5 h 51 m
Buses per day
54
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 $16 if you buy it on the day, but the cheapest tickets can be found for only $8.
Of the 54 buses that leave Yogyakarta for Surabaya on Mon, Dec 29, 54 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Mon, Dec 29 the direct buses cover the 270 km distance in an average of 5 h 51 m but if you time it right, some buses will get you there in just 5 h 30 m .
On Mon, Dec 29 the slowest buses will take 6 h 15 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
DAYTRANS
DAYTRANS
DAYTRANS
DAYTRANS
0
0
MILA SEJAHTERA
DAYTRANS
DAYTRANSTravel 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 bus with prices starting from €6. 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 bus costs an average of €6, and a flight costs an average of €41.
Distance: 167 miles (270 km)
Compare bus with
Most popular Bus | Flight | Train |
|---|---|---|
€6 Average price Cheapest | €92 Average price | €16 Average price |
7h 26m Average total duration 6h 56m Onboard + 30m Additional time* | 8h 6m Average total duration 5h 6m Onboard + 3h 0m Additional time* | 4h 39m Average total duration Fastest 4h 9m 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 03:00AM | Arrival Time 09:15AM | Duration 6h15 | Departure days Mon, Tue, Wed, Thu, Sat, Sun | Cheapest price $14 |
Operator Daytrans | Departure Time 04:00AM | Arrival Time 10:30AM | Duration 6h30 | Departure days Mon, Tue, Wed, Thu, Sat, Sun | Cheapest price $14 |
Operator Daytrans | Departure Time 05:00AM | Arrival Time 12:00PM | Duration 7h00 | Departure days Mon, Tue, Wed, Thu, Sat, Sun | Cheapest price $14 |
Operator Infobus | Departure Time 06:00AM | Arrival Time 11:30AM | Duration 5h30 | Departure days Mon, Tue, Sun | Cheapest price $15 |
Operator Daytrans | Departure Time 06:00AM | Arrival Time 12:30PM | Duration 6h30 | Departure days Mon, Tue, Wed, Thu, Sat, Sun | Cheapest price $14 |
Operator Daytrans | Departure Time 07:00AM | Arrival Time 01:15PM | Duration 6h15 | Departure days Mon, Tue, Wed, Thu, Sat, Sun | Cheapest price $14 |
Operator Daytrans | Departure Time 08:00AM | Arrival Time 02:15PM | Duration 6h15 | Departure days Mon, Tue, Wed, Thu, Sat, Sun | Cheapest price $14 |
Operator Daytrans | Departure Time 09:30AM | Arrival Time 03:45PM | Duration 6h15 | Departure days Mon, Tue, Wed, Thu, Sat | Cheapest price $16 |
Operator Daytrans | Departure Time 10:00AM | Arrival Time 04:20PM | Duration 6h20 | Departure days Sun | Cheapest price $14 |
Operator Daytrans | Departure Time 11:00AM | Arrival Time 06:00PM | Duration 7h00 | Departure days Mon, Tue, Wed, Thu, Sat | Cheapest price $16 |
Operator AKAS MILA SEJAHTERA | Departure Time 12:15PM | Arrival Time 06:14PM | Duration 5h59 | Departure days Mon, Tue, Wed, Thu, Sat, Sun | Cheapest price $7 |
Operator Daytrans | Departure Time 02:00PM | Arrival Time 08:15PM | Duration 6h15 | Departure days Mon, Tue, Wed, Thu, Sat | Cheapest price $16 |
Operator Daytrans | Departure Time 03:00PM | Arrival Time 09:15PM | Duration 6h15 | Departure days Mon, Tue, Wed, Thu, Sat | Cheapest price $16 |
Operator Daytrans | Departure Time 04:00PM | Arrival Time 10:30PM | Duration 6h30 | Departure days Mon, Tue, Wed, Thu, Sat, Sun | Cheapest price $14 |
Operator Majestic Travel | Departure Time 05:00PM | Arrival Time 11:25PM | Duration 6h25 | Departure days Mon, Tue, Wed, Sat, Sun | Cheapest price $16 |
Operator Nugi Trans Mandiri | Departure Time 05:00PM | Arrival Time 11:25PM | Duration 6h25 | Departure days Mon, Tue, Wed, Thu, Sat, Sun | Cheapest price $17 |
Operator Daytrans | Departure Time 05:00PM | Arrival Time 11:20PM | Duration 6h20 | Departure days Sun | Cheapest price $14 |
Operator Daytrans | Departure Time 05:30PM | Arrival Time 11:45PM | Duration 6h15 | Departure days Mon, Tue, Wed, Thu, Sat, Sun | Cheapest price $14 |
Operator PAPUMA TOUR & TRAVEL | Departure Time 06:00PM | Arrival Time 12:25AM | Duration 6h25 | Departure days Mon, Tue, Wed, Thu, Sat, Sun | Cheapest price $21 |
Operator Daytrans | Departure Time 06:30PM | Arrival Time 12:45AM | Duration 6h15 | Departure days Mon, Tue, Wed, Thu, Sat, Sun | Cheapest price $14 |
Operator Daytrans | Departure Time 07:30PM | Arrival Time 01:45AM | Duration 6h15 | Departure days Mon, Tue, Wed, Thu, Sat, Sun | Cheapest price $14 |
Operator Infobus | Departure Time 07:45PM | Arrival Time 01:15AM | Duration 5h30 | Departure days Mon, Tue | Cheapest price $25 |
Operator Daytrans | Departure Time 08:30PM | Arrival Time 03:30AM | Duration 7h00 | Departure days Mon, Tue, Wed, Thu, Sat, Sun | Cheapest price $14 |
Operator Daytrans | Departure Time 09:30PM | Arrival Time 04:30AM | Duration 7h00 | Departure days Mon, Tue, Wed, Thu, Sat | Cheapest price $16 |
Live departures
Yogyakarta to Surabaya bus times
The table below shows live departures for Yogyakarta to Surabaya buses for today, Sunday, December 28. You can also manually refresh the results below to see updated bus journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
DAYTRANS | 1:00 AM Yogyakarta, Mantrijeron | 6h15 | 7:15 AM Surabaya | 0 transfersDirect | |
DAYTRANS | 1:00 AM Yogyakarta, Mantrijeron | 7h00 | 8:00 AM Surabaya, Tegalsari | 0 transfersDirect | |
DAYTRANS | 1:00 AM Yogyakarta, Mantrijeron | 6h30 | 7:30 AM Surabaya, Wonocolo | 0 transfersDirect | |
DAYTRANS | 3:00 AM Yogyakarta, Mantrijeron | 6h20 | 9:20 AM Surabaya | 0 transfersDirect | |
DAYTRANS | 3:00 AM Yogyakarta, Mantrijeron | 7h00 | 10:00 AM Surabaya, Tegalsari | 0 transfersDirect | |
DAYTRANS | 3:00 AM Yogyakarta, Mantrijeron | 6h30 | 9:30 AM Surabaya, Wonocolo | 0 transfersDirect | |
MILA SEJAHTERA | 5:15 AM Yogyakarta, Terminal Giwangan | 5h59 | 11:14 AM Surabaya, Terminal Purabaya/Bungurasih | 0 transfersDirect | |
DAYTRANS | 9:00 AM Yogyakarta, Mantrijeron | 6h30 | 3:30 PM Surabaya, Wonocolo | 0 transfersDirect | |
DAYTRANS | 9:00 AM Yogyakarta, Mantrijeron | 7h00 | 4:00 PM Surabaya, Tegalsari | 0 transfersDirect | |
DAYTRANS | 10:00 AM Yogyakarta, Mantrijeron | 6h20 | 4:20 PM Surabaya | 0 transfersDirect | |
MAJESTIC TRAVEL | 10:00 AM Kota Yogyakarta | 6h25 | 4:25 PM Surabaya | 0 transfersDirect | |
DAYTRANS | 10:00 AM Yogyakarta, Mantrijeron | 6h30 | 4:30 PM Surabaya, Wonocolo | 0 transfersDirect | |
DAYTRANS | 10:00 AM Yogyakarta, Mantrijeron | 7h00 | 5:00 PM Surabaya, Tegalsari | 0 transfersDirect | |
NUGI TRANS MANDIRI | 10:00 AM Kota Yogyakarta | 6h25 | 4:25 PM Surabaya | 0 transfersDirect | |
DAYTRANS | 10:30 AM Yogyakarta, Mantrijeron | 6h15 | 4:45 PM Surabaya | 0 transfersDirect | |
DAYTRANS | 10:30 AM Yogyakarta, Mantrijeron | 6h30 | 5:00 PM Surabaya, Wonocolo | 0 transfersDirect | |
DAYTRANS | 10:30 AM Yogyakarta, Mantrijeron | 7h00 | 5:30 PM Surabaya, Tegalsari | 0 transfersDirect | |
PAPUMA TOUR & TRAVEL | 11:00 AM Kota Yogyakarta | 6h25 | 5:25 PM Surabaya | 0 transfersDirect | |
DAYTRANS | 11:30 AM Yogyakarta, Mantrijeron | 6h15 | 5:45 PM Surabaya | 0 transfersDirect | |
DAYTRANS | 11:30 AM Yogyakarta, Mantrijeron | 7h00 | 6:30 PM Surabaya, Tegalsari | 0 transfersDirect | |
DAYTRANS | 11:30 AM Yogyakarta, Mantrijeron | 6h30 | 6:00 PM Surabaya, Wonocolo | 0 transfersDirect | |
DAYTRANS | 12:30 PM Yogyakarta, Mantrijeron | 6h15 | 6:45 PM Surabaya | 0 transfersDirect | |
DAYTRANS | 12:30 PM Yogyakarta, Mantrijeron | 7h00 | 7:30 PM Surabaya, Tegalsari | 0 transfersDirect | |
DAYTRANS | 12:30 PM Yogyakarta, Mantrijeron | 6h30 | 7:00 PM Surabaya, Wonocolo | 0 transfersDirect | |
DAYTRANS | 12:30 PM Yogyakarta, Mantrijeron | 6h20 | 6:50 PM Surabaya | 0 transfersDirect | |
DAYTRANS | 1:30 PM Yogyakarta, Mantrijeron | 7h00 | 8:30 PM Surabaya, Tegalsari | 0 transfersDirect | |
DAYTRANS | 1:30 PM Yogyakarta, Mantrijeron | 6h20 | 7:50 PM Surabaya | 0 transfersDirect | |
DAYTRANS | 1:30 PM Yogyakarta, Mantrijeron | 6h30 | 8:00 PM Surabaya, Wonocolo | 0 transfersDirect | |
DAYTRANS | 8:00 PM Yogyakarta, Mantrijeron | 6h15 | 2:15 AM Surabaya | 0 transfersDirect | |
DAYTRANS | 8:00 PM Yogyakarta, Mantrijeron | 7h00 | 3:00 AM Surabaya, Tegalsari | 0 transfersDirect | |
DAYTRANS | 8:00 PM Yogyakarta, Mantrijeron | 6h30 | 2:30 AM Surabaya, Wonocolo | 0 transfersDirect | |
DAYTRANS | 9:00 PM Yogyakarta, Mantrijeron | 6h30 | 3:30 AM Surabaya, Wonocolo | 0 transfersDirect | |
DAYTRANS | 9:00 PM Yogyakarta, Mantrijeron | 6h15 | 3:15 AM Surabaya | 0 transfersDirect | |
DAYTRANS | 9:00 PM Yogyakarta, Mantrijeron | 7h00 | 4:00 AM Surabaya, Tegalsari | 0 transfersDirect | |
DAYTRANS | 10:00 PM Yogyakarta, Mantrijeron | 7h00 | 5:00 AM Surabaya, Tegalsari | 0 transfersDirect | |
DAYTRANS | 10:00 PM Yogyakarta, Mantrijeron | 6h15 | 4:15 AM Surabaya | 0 transfersDirect | |
DAYTRANS | 10:00 PM Yogyakarta, Mantrijeron | 6h00 | 4:00 AM Surabaya, Wonocolo | 0 transfersDirect | |
0 | 11:00 PM Yogyakarta | 5h30 | 4:30 AM Surabaya | 0 transfersDirect | |
DAYTRANS | 11:00 PM Yogyakarta, Mantrijeron | 6h30 | 5:30 AM Surabaya, Wonocolo | 0 transfersDirect | |
DAYTRANS | 11:00 PM Yogyakarta, Mantrijeron | 6h15 | 5:15 AM Surabaya | 0 transfersDirect | |
DAYTRANS | 11:00 PM Yogyakarta, Mantrijeron | 7h00 | 6:00 AM Surabaya, Tegalsari | 0 transfersDirect | |
| Monday, December 29 | |||||
DAYTRANS | 12:00 AM Yogyakarta, Mantrijeron | 6h15 | 6:15 AM Surabaya | 0 transfersDirect | |
DAYTRANS | 12:00 AM Yogyakarta, Mantrijeron | 6h30 | 6:30 AM Surabaya, Wonocolo | 0 transfersDirect | |
DAYTRANS | 12:00 AM Yogyakarta, Mantrijeron | 7h00 | 7:00 AM 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.
Dec 29
Dec 30
Dec 31
Jan 01
Jan 02
Jan 03
Jan 04
Jan 05
Jan 06
Jan 07
Jan 08
Jan 09
Jan 10
Jan 11
Journey information
Overview: Bus from Yogyakarta to Surabaya
Buses from Yogyakarta to Surabaya run on average 15 times per day, taking around 6h 56m. Cheap bus tickets for this journey start at $7 (€6) if you book in advance.
There are 15 buses per day. The earliest bus runs at 03: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 56m |
Cheapest ticket price $7 (€6) |
Buses per day 15 |
Direct buses 15 |
Fastest bus 5h 59m |
First bus 03:00 |
Last bus 22:08 |
Bus providers: Nugi Trans Mandiri, Majestic Travel, Daytrans, Sugeng Rahayu, PAPUMA TOUR & TRAVEL from Yogyakarta to SurabayaYou can travel by bus between Yogyakarta to Surabaya with Nugi Trans Mandiri, Majestic Travel, Daytrans, Sugeng Rahayu, PAPUMA TOUR & TRAVEL for as low as $7 (€6). When you search for schedules and tickets, Omio will show you the best journey
Daytrans
Majestic Travel
Sugeng Rahayu
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 route from including Kota Yogyakarta, Yogyakarta, Kotagede, Yogyakarta, Bus Terminal Giwangan and Yogyakarta, Mantrijeron. When arriving in Surabaya, you can end your route in bus stations like Surabaya Kota, Surabaya, Wonocolo and Surabaya, Tegalsari.
Passengers board the bus most frequently from Kota Yogyakarta, which is located around 1.9 miles (3.1 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
- 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)
- 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 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 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)
- 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
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



