All about buses to Surabaya
| Local Time | |
| Country | Indonesia |
| Bus Routes | 896 |
| Bus Stations | 31 |
| Cheapest Trip | $1 |
| Most popular Bus Companies | |
| Other companies are 27 Trans, 44 Transport, Agra mas, Angkasa Trans Jaya, Bali Jaya Trans Tour & Travel, Bali Purnama 99 and 31 more. | |
Enjoy these deals on your way to Surabaya
Enjoy up to 52% off for your First Booking!
Cheap bus tickets to Surabaya
-
Kalisari1h 0m010:40 AMMalangBlimbing Train Station11:40 AMSurabayaCentral Station0EconomyA Bus from Kalisari goes from Blimbing Train Station, Malang (Indonesia) at 1/30/2026 10:40:00 AM to Central Station, Surabaya (Indonesia) arriving at 1/30/2026 11:40:00 AM. 50 Economy ticket for $2 per person are available. Travel duration is 1h 0m
-
Cititrans1h 30m05:00 AMMalangHubdam V / Brawijaya Bus Station6:30 AMSurabayaCentral Station0EconomyA Bus from Cititrans goes from Hubdam V / Brawijaya Bus Station, Malang (Indonesia) at 1/31/2026 5:00:00 AM to Central Station, Surabaya (Indonesia) arriving at 1/31/2026 6:30:00 AM. 50 Economy ticket for $4 per person are available. Travel duration is 1h 30m
-
DayTrans3h 0m05:00 AMMalangBlimbing Train Station8:00 AMSurabayaCentral Station0Premium EconomyA Bus from DayTrans goes from Blimbing Train Station, Malang (Indonesia) at 1/30/2026 5:00:00 AM to Central Station, Surabaya (Indonesia) arriving at 1/30/2026 8:00:00 AM. 50 Premium Economy ticket for $5 per person are available. Travel duration is 3h 0m
-
EKA Mira Bus7h 0m06:15 AMYogyakartaDayTrans1:15 PMSurabayaCentral Station0EconomyA Bus from EKA Mira Bus goes from DayTrans, Yogyakarta (Indonesia) at 1/30/2026 6:15:00 AM to Central Station, Surabaya (Indonesia) arriving at 1/30/2026 1:15:00 PM. 50 Economy ticket for $7 per person are available. Travel duration is 7h 0m
-
Sugeng Rahayu7h 15m06:06 PMYogyakarta Adisutjipto AirportYogyakarta Adisutjipto Airport1:21 AMSurabayaCentral Station0EconomyA Bus from Sugeng Rahayu goes from Yogyakarta Adisutjipto Airport, Yogyakarta Adisutjipto Airport (Indonesia) at 1/30/2026 6:06:00 PM to Central Station, Surabaya (Indonesia) arriving at 1/31/2026 1:21:00 AM. 50 Economy ticket for $8 per person are available. Travel duration is 7h 15m
-
Harapan Jaya1h 0m010:00 PMSemarangTegalwareng Bus Station11:00 PMSurabayaSidotopo Bus Station0EconomyA Bus from Harapan Jaya goes from Tegalwareng Bus Station, Semarang (Indonesia) at 1/31/2026 10:00:00 PM to Sidotopo Bus Station, Surabaya (Indonesia) arriving at 1/31/2026 11:00:00 PM. 50 Economy ticket for $9 per person are available. Travel duration is 1h 0m
-
Cozy Trans3h 30m01:00 AMMalangBlimbing Train Station4:30 AMSurabayaCentral Station0Premium EconomyA Bus from Cozy Trans goes from Blimbing Train Station, Malang (Indonesia) at 1/30/2026 1:00:00 AM to Central Station, Surabaya (Indonesia) arriving at 1/30/2026 4:30:00 AM. 50 Premium Economy ticket for $9 per person are available. Travel duration is 3h 30m
-
Po Widji7h 30m04:30 AMSemarangTerminal Mangkang12:00 PMSurabayaCentral Station0EconomyA Bus from Po Widji goes from Terminal Mangkang, Semarang (Indonesia) at 1/30/2026 4:30:00 AM to Central Station, Surabaya (Indonesia) arriving at 1/30/2026 12:00:00 PM. 50 Economy ticket for $9 per person are available. Travel duration is 7h 30m
-
Gunung Harta7h 30m03:30 PMYogyakartaDayTrans11:00 PMSurabayaCentral Station0EconomyA Bus from Gunung Harta goes from DayTrans, Yogyakarta (Indonesia) at 1/30/2026 3:30:00 PM to Central Station, Surabaya (Indonesia) arriving at 1/30/2026 11:00:00 PM. 50 Economy ticket for $11 per person are available. Travel duration is 7h 30m
-
Medali Mas15h 30m05:30 PMDenpasarBatubulan, Sinar Mulia8:00 AMSurabayaCentral Station0BusinessA Bus from Medali Mas goes from Batubulan, Sinar Mulia, Denpasar (Indonesia) at 1/30/2026 5:30:00 PM to Central Station, Surabaya (Indonesia) arriving at 1/31/2026 8:00:00 AM. 50 Business ticket for $11 per person are available. Travel duration is 15h 30m
-
Efisiensi4h 50m09:00 AMYogyakartaDayTrans1:50 PMSurabayaCentral Station0EconomyA Bus from Efisiensi goes from DayTrans, Yogyakarta (Indonesia) at 1/30/2026 9:00:00 AM to Central Station, Surabaya (Indonesia) arriving at 1/30/2026 1:50:00 PM. 50 Economy ticket for $12 per person are available. Travel duration is 4h 50m
-
Safari Dharma Raya13h 0m01:00 PMDenpasarBatubulan, Sinar Mulia1:00 AMSurabayaCentral Station0EconomyA Bus from Safari Dharma Raya goes from Batubulan, Sinar Mulia, Denpasar (Indonesia) at 2/1/2026 1:00:00 PM to Central Station, Surabaya (Indonesia) arriving at 2/2/2026 1:00:00 AM. 50 Economy ticket for $12 per person are available. Travel duration is 13h 0m
-
Damri Express5h 0m08:00 PMSemarangTerminal Mangkang1:00 AMSurabayaCentral Station0EconomyA Bus from Damri Express goes from Terminal Mangkang, Semarang (Indonesia) at 1/30/2026 8:00:00 PM to Central Station, Surabaya (Indonesia) arriving at 1/31/2026 1:00:00 AM. 50 Economy ticket for $14 per person are available. Travel duration is 5h 0m
-
Bali Trans13h 0m05:30 PMDenpasarBatubulan, Sinar Mulia5:30 AMSurabayaCentral Station0EconomyA Bus from Bali Trans goes from Batubulan, Sinar Mulia, Denpasar (Indonesia) at 1/30/2026 5:30:00 PM to Central Station, Surabaya (Indonesia) arriving at 1/31/2026 5:30:00 AM. 50 Economy ticket for $14 per person are available. Travel duration is 13h 0m
-
Sarwonadhi Trans11h 30m09:00 AMDenpasarBatubulan, Sinar Mulia7:30 PMSurabayaCentral Station0EconomyA Bus from Sarwonadhi Trans goes from Batubulan, Sinar Mulia, Denpasar (Indonesia) at 1/30/2026 9:00:00 AM to Central Station, Surabaya (Indonesia) arriving at 1/30/2026 7:30:00 PM. 50 Economy ticket for $15 per person are available. Travel duration is 11h 30m
-
Wisata Komodo12h 20m02:30 PMDenpasarBatubulan, Sinar Mulia1:50 AMSurabayaCentral Station0EconomyA Bus from Wisata Komodo goes from Batubulan, Sinar Mulia, Denpasar (Indonesia) at 1/30/2026 2:30:00 PM to Central Station, Surabaya (Indonesia) arriving at 1/31/2026 1:50:00 AM. 50 Economy ticket for $15 per person are available. Travel duration is 12h 20m
-
Nusantara indah8h 0m07:00 PMSemarangTerminal Mangkang3:00 AMSurabayaCentral Station0Premium EconomyA Bus from Nusantara indah goes from Terminal Mangkang, Semarang (Indonesia) at 1/30/2026 7:00:00 PM to Central Station, Surabaya (Indonesia) arriving at 1/31/2026 3:00:00 AM. 50 Premium Economy ticket for $15 per person are available. Travel duration is 8h 0m
-
Angkasa Trans Jaya12h 0m01:00 PMDenpasarBatubulan, Sinar Mulia12:00 AMSurabayaCentral Station0Premium EconomyA Bus from Angkasa Trans Jaya goes from Batubulan, Sinar Mulia, Denpasar (Indonesia) at 1/30/2026 1:00:00 PM to Central Station, Surabaya (Indonesia) arriving at 1/31/2026 12:00:00 AM. 50 Premium Economy ticket for $15 per person are available. Travel duration is 12h 0m
-
Restu Mulya13h 0m01:30 PMDenpasarBatubulan, Sinar Mulia1:30 AMSurabayaCentral Station0EconomyA Bus from Restu Mulya goes from Batubulan, Sinar Mulia, Denpasar (Indonesia) at 2/1/2026 1:30:00 PM to Central Station, Surabaya (Indonesia) arriving at 2/2/2026 1:30:00 AM. 50 Economy ticket for $16 per person are available. Travel duration is 13h 0m
-
27 Trans13h 0m09:00 AMDenpasarBatubulan, Sinar Mulia9:00 PMSurabayaCentral Station0EconomyA Bus from 27 Trans goes from Batubulan, Sinar Mulia, Denpasar (Indonesia) at 1/30/2026 9:00:00 AM to Central Station, Surabaya (Indonesia) arriving at 1/30/2026 9:00:00 PM. 50 Economy ticket for $17 per person are available. Travel duration is 13h 0m
-
Kramat Djati18h 0m01:00 PMJakartaTerminal Bus Kota Blok M7:00 AMSurabayaCentral Station0EconomyA Bus from Kramat Djati goes from Terminal Bus Kota Blok M, Jakarta (Indonesia) at 1/30/2026 1:00:00 PM to Central Station, Surabaya (Indonesia) arriving at 1/31/2026 7:00:00 AM. 50 Economy ticket for $17 per person are available. Travel duration is 18h 0m
-
PO Setiawan16h 15m02:15 PMDenpasarBatubulan, Sinar Mulia5:30 AMSurabayaCentral Station0EconomyA Bus from PO Setiawan goes from Batubulan, Sinar Mulia, Denpasar (Indonesia) at 1/30/2026 2:15:00 PM to Central Station, Surabaya (Indonesia) arriving at 1/31/2026 5:30:00 AM. 50 Economy ticket for $17 per person are available. Travel duration is 16h 15m
-
44 Transport13h 45m05:00 PMDenpasarSanur6:45 AMSurabayaGubeng Train Station0EconomyA Bus from 44 Transport goes from Sanur, Denpasar (Indonesia) at 1/31/2026 5:00:00 PM to Gubeng Train Station, Surabaya (Indonesia) arriving at 2/1/2026 6:45:00 AM. 50 Economy ticket for $17 per person are available. Travel duration is 13h 45m
-
MTrans12h 55m07:35 AMDenpasarBatubulan, Sinar Mulia7:30 PMSurabayaCentral Station0EconomyA Bus from MTrans goes from Batubulan, Sinar Mulia, Denpasar (Indonesia) at 1/30/2026 7:35:00 AM to Central Station, Surabaya (Indonesia) arriving at 1/30/2026 7:30:00 PM. 50 Economy ticket for $18 per person are available. Travel duration is 12h 55m
-
Handoyo17h 0m03:00 PMDenpasarBatubulan, Sinar Mulia7:00 AMSurabayaCentral Station0Premium EconomyA Bus from Handoyo goes from Batubulan, Sinar Mulia, Denpasar (Indonesia) at 1/30/2026 3:00:00 PM to Central Station, Surabaya (Indonesia) arriving at 1/31/2026 7:00:00 AM. 50 Premium Economy ticket for $18 per person are available. Travel duration is 17h 0m
-
Po Mawar14h 10m04:30 PMJakartaTerminal Bus Kota Blok M6:40 AMSurabayaCentral Station0EconomyA Bus from Po Mawar goes from Terminal Bus Kota Blok M, Jakarta (Indonesia) at 1/31/2026 4:30:00 PM to Central Station, Surabaya (Indonesia) arriving at 2/1/2026 6:40:00 AM. 50 Economy ticket for $18 per person are available. Travel duration is 14h 10m
-
Pahala Kencana17h 55m012:25 PMJakartaTerminal Bus Kota Blok M6:20 AMSurabayaCentral Station0EconomyA Bus from Pahala Kencana goes from Terminal Bus Kota Blok M, Jakarta (Indonesia) at 1/30/2026 12:25:00 PM to Central Station, Surabaya (Indonesia) arriving at 1/31/2026 6:20:00 AM. 50 Economy ticket for $18 per person are available. Travel duration is 17h 55m
-
Bali Jaya Trans Tour & Travel1h 0m04:10 PMDenpasarWisata Komodo4:10 PMSurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Bali Jaya Trans Tour & Travel goes from Wisata Komodo, Denpasar (Indonesia) at 1/31/2026 4:10:00 PM to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 1/31/2026 4:10:00 PM. 50 Economy ticket for $18 per person are available. Travel duration is 1h 0m
-
Ladju Transport13h 45m04:00 PMDenpasarBatubulan, Sinar Mulia4:45 AMSurabayaCentral Station0Premium EconomyA Bus from Ladju Transport goes from Batubulan, Sinar Mulia, Denpasar (Indonesia) at 1/30/2026 4:00:00 PM to Central Station, Surabaya (Indonesia) arriving at 1/31/2026 4:45:00 AM. 50 Premium Economy ticket for $18 per person are available. Travel duration is 13h 45m
-
Gema Pratama Trans5h 43m07:00 PMSemarangTourism Information Center12:43 AMSurabayaGubeng Train Station0EconomyA Bus from Gema Pratama Trans goes from Tourism Information Center, Semarang (Indonesia) at 1/31/2026 7:00:00 PM to Gubeng Train Station, Surabaya (Indonesia) arriving at 2/1/2026 12:43:00 AM. 50 Economy ticket for $18 per person are available. Travel duration is 5h 43m
-
Tiara Mas15h 0m03:15 PMJakartaTerminal Bus Kota Blok M6:15 AMSurabayaCentral Station0EconomyA Bus from Tiara Mas goes from Terminal Bus Kota Blok M, Jakarta (Indonesia) at 1/30/2026 3:15:00 PM to Central Station, Surabaya (Indonesia) arriving at 1/31/2026 6:15:00 AM. 50 Economy ticket for $19 per person are available. Travel duration is 15h 0m
-
Bali Purnama 9913h 0m07:00 PMDenpasarBatubulan, Sinar Mulia7:00 AMSurabayaCentral Station0EconomyA Bus from Bali Purnama 99 goes from Batubulan, Sinar Mulia, Denpasar (Indonesia) at 1/30/2026 7:00:00 PM to Central Station, Surabaya (Indonesia) arriving at 1/31/2026 7:00:00 AM. 50 Economy ticket for $19 per person are available. Travel duration is 13h 0m
-
Sinar Jaya4h 40m08:00 PMSemarangTerminal Mangkang12:40 AMSurabayaCentral Station0EconomyA Bus from Sinar Jaya goes from Terminal Mangkang, Semarang (Indonesia) at 1/30/2026 8:00:00 PM to Central Station, Surabaya (Indonesia) arriving at 1/31/2026 12:40:00 AM. 50 Economy ticket for $20 per person are available. Travel duration is 4h 40m
-
Haryanto Bojonegoro15h 30m08:30 AMJakartaTerminal Bus Kota Blok M12:00 AMSurabayaCentral Station0EconomyA Bus from Haryanto Bojonegoro goes from Terminal Bus Kota Blok M, Jakarta (Indonesia) at 1/30/2026 8:30:00 AM to Central Station, Surabaya (Indonesia) arriving at 1/31/2026 12:00:00 AM. 50 Economy ticket for $20 per person are available. Travel duration is 15h 30m
-
Bandung Express16h 0m02:00 PMBandungDayTrans Cihampelas6:00 AMSurabayaCentral Station0EconomyA Bus from Bandung Express goes from DayTrans Cihampelas, Bandung (Indonesia) at 1/30/2026 2:00:00 PM to Central Station, Surabaya (Indonesia) arriving at 1/31/2026 6:00:00 AM. 50 Economy ticket for $20 per person are available. Travel duration is 16h 0m
-
Juragan 996h 30m09:00 AMYogyakarta Adisutjipto AirportYogyakarta Adisutjipto Airport3:30 PMSurabayaCentral Station0First ClassA Bus from Juragan 99 goes from Yogyakarta Adisutjipto Airport, Yogyakarta Adisutjipto Airport (Indonesia) at 1/30/2026 9:00:00 AM to Central Station, Surabaya (Indonesia) arriving at 1/30/2026 3:30:00 PM. 50 First Class ticket for $24 per person are available. Travel duration is 6h 30m
-
Lorena12h 34m04:30 PMJakartaTerminal Bus Kota Blok M5:04 AMSurabayaCentral Station0Premium EconomyA Bus from Lorena goes from Terminal Bus Kota Blok M, Jakarta (Indonesia) at 1/30/2026 4:30:00 PM to Central Station, Surabaya (Indonesia) arriving at 1/31/2026 5:04:00 AM. 50 Premium Economy ticket for $25 per person are available. Travel duration is 12h 34m
-
E-Mutiara11h 30m09:00 PMJakartaTerminal Bus Kota Blok M8:30 AMSurabayaCentral Station0BusinessA Bus from E-Mutiara goes from Terminal Bus Kota Blok M, Jakarta (Indonesia) at 1/31/2026 9:00:00 PM to Central Station, Surabaya (Indonesia) arriving at 2/1/2026 8:30:00 AM. 50 Business ticket for $30 per person are available. Travel duration is 11h 30m
-
Agra mas15h 0m02:30 PMJakartaTerminal Bus Kota Blok M5:30 AMSurabayaCentral Station0BusinessA Bus from Agra mas goes from Terminal Bus Kota Blok M, Jakarta (Indonesia) at 1/30/2026 2:30:00 PM to Central Station, Surabaya (Indonesia) arriving at 1/31/2026 5:30:00 AM. 50 Business ticket for $33 per person are available. Travel duration is 15h 0m
-
Unicorn Indorent11h 30m06:30 AMJakartaTerminal Bus Kota Blok M6:00 PMSurabayaCentral Station0First ClassA Bus from Unicorn Indorent goes from Terminal Bus Kota Blok M, Jakarta (Indonesia) at 2/2/2026 6:30:00 AM to Central Station, Surabaya (Indonesia) arriving at 2/2/2026 6:00:00 PM. 50 First Class ticket for $36 per person are available. Travel duration is 11h 30m
-
Bass Trans19h 30m06:30 PMJakartaTerminal Bus Kota Blok M2:00 PMSurabayaCentral Station0Premium EconomyA Bus from Bass Trans goes from Terminal Bus Kota Blok M, Jakarta (Indonesia) at 1/30/2026 6:30:00 PM to Central Station, Surabaya (Indonesia) arriving at 1/31/2026 2:00:00 PM. 50 Premium Economy ticket for $36 per person are available. Travel duration is 19h 30m
Your route is not there? In the search bar, we have already filled Surabaya as your destination. You just have to enter your place of departure. However, if you want to take the bus from Surabaya, just click on the arrows to change the direction.
We have already set a default travel date. Generally, most people book 3-7 days in advance. If you want to check a specific date, simply select the corresponding day on the calendar to update your search.Do you already know when you will return by bus from Surabaya? Then check the return trip straight away and simply select the appropriate date. Are you travelling to Surabaya with other people? Then indicate how many passengers are joining you and start your search. The search results can be sorted by price, departure and arrival time. They can also be filtered according to stops or companies. Customize everything according to your needs.
By the way: If available, we will also show you information about other modes of transportation, such as trains, carpooling and flights, with which you can get to Surabaya.



