What is the best way to travel from Jakarta to Surabaya?
Looking for a trip? Compare all the available Flights and Buses for the journey to Surabaya from Jakarta. Check between different modes of transportation, look for the cheapest tickets, fastest rides and most popular stations, and see all 25 available companies to find your perfect trip!
What is the cheapest way to reach Surabaya from Jakarta?
You can get to Surabaya with just $11 by taking a Bus from Medali Mas, but you can find many more cheap offers: we have selected the best ones for next few days here for you.
-
Medali Mas12h 30m05:30 PMJakartaTeuku Umar 8 Bus Station6:00 AMSurabayaCentral Station0BusinessA Bus from Medali Mas goes from Teuku Umar 8 Bus Station, Jakarta (Indonesia) at 6/18/2026 5:30:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/19/2026 6:00:00 AM. 50 Business ticket for $11 per person are available. Travel duration is 12h 30m
-
Harapan Jaya10h 0m01:15 PMJakartaCililitan Besar Bus Stop11:15 PMSurabayaSidotopo Bus Station0EconomyA Bus from Harapan Jaya goes from Cililitan Besar Bus Stop, Jakarta (Indonesia) at 6/18/2026 1:15:00 PM to Sidotopo Bus Station, Surabaya (Indonesia) arriving at 6/18/2026 11:15:00 PM. 50 Economy ticket for $14 per person are available. Travel duration is 10h 0m
-
Sarwonadhi Trans9h 40m09:00 AMJakartaTeuku Umar 8 Bus Station6:40 PMSurabayaCentral Station0EconomyA Bus from Sarwonadhi Trans goes from Teuku Umar 8 Bus Station, Jakarta (Indonesia) at 6/18/2026 9:00:00 AM to Central Station, Surabaya (Indonesia) arriving at 6/18/2026 6:40:00 PM. 50 Economy ticket for $15 per person are available. Travel duration is 9h 40m
-
Kramat Djati16h 0m02:30 PMJakartaTerminal Manggarai6:30 AMSurabayaCentral Station0EconomyA Bus from Kramat Djati goes from Terminal Manggarai, Jakarta (Indonesia) at 6/18/2026 2:30:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/19/2026 6:30:00 AM. 50 Economy ticket for $16 per person are available. Travel duration is 16h 0m
-
Pahala Kencana15h 45m01:50 PMJakartaTerminal Manggarai5:35 AMSurabayaCentral Station0EconomyA Bus from Pahala Kencana goes from Terminal Manggarai, Jakarta (Indonesia) at 6/18/2026 1:50:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/19/2026 5:35:00 AM. 50 Economy ticket for $17 per person are available. Travel duration is 15h 45m
-
Batik Air1h 25m01:35 PMHalim Perdanakusuma AirportHalim Perdanakusuma Airport3:00 PMSurabaya AirportSurabaya Airport0EconomyA Flight from Batik Air goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 6/18/2026 1:35:00 PM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/18/2026 3:00:00 PM. 50 Economy ticket for $56 per person are available. Travel duration is 1h 25m
-
Lion Air1h 30m03:30 AMSoekarno-Hatta AirportStasiun KA Bandara Bus Stop5:00 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Lion Air goes from Stasiun KA Bandara Bus Stop, Soekarno-Hatta Airport (Indonesia) at 6/18/2026 3:30:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/18/2026 5:00:00 AM. 50 Economy ticket for $62 per person are available. Travel duration is 1h 30m
-
Citilink1h 25m08:20 PMHalim Perdanakusuma AirportHalim Perdanakusuma Airport9:45 PMSurabaya AirportSurabaya Airport0EconomyA Flight from Citilink goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 6/18/2026 8:20:00 PM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/18/2026 9:45:00 PM. 50 Economy ticket for $70 per person are available. Travel duration is 1h 25m
-
Skyscanner1h 35m010:40 AMSoekarno-Hatta AirportStasiun KA Bandara Bus Stop12:15 PMSurabaya AirportSurabaya Airport0EconomyA Flight from Skyscanner goes from Stasiun KA Bandara Bus Stop, Soekarno-Hatta Airport (Indonesia) at 6/18/2026 10:40:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/18/2026 12:15:00 PM. 50 Economy ticket for $80 per person are available. Travel duration is 1h 35m
-
Pelita Air1h 35m010:40 AMJakarta AirportJakarta Airport12:15 PMSurabaya AirportSurabaya Airport0EconomyA Flight from Pelita Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 6/18/2026 10:40:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/18/2026 12:15:00 PM. 50 Economy ticket for $86 per person are available. Travel duration is 1h 35m
Cheapest Buses Thursday
Cheapest Flights Thursday
-
Medali Mas13h 30m05:30 PMJakartaTeuku Umar 8 Bus Station6:00 AMSurabayaCentral Station0BusinessA Bus from Medali Mas goes from Teuku Umar 8 Bus Station, Jakarta (Indonesia) at 6/19/2026 5:30:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/20/2026 6:00:00 AM. 50 Business ticket for $11 per person are available. Travel duration is 13h 30m
-
Sarwonadhi Trans10h 40m09:00 AMJakartaTeuku Umar 8 Bus Station6:40 PMSurabayaCentral Station0EconomyA Bus from Sarwonadhi Trans goes from Teuku Umar 8 Bus Station, Jakarta (Indonesia) at 6/19/2026 9:00:00 AM to Central Station, Surabaya (Indonesia) arriving at 6/19/2026 6:40:00 PM. 50 Economy ticket for $15 per person are available. Travel duration is 10h 40m
-
Kramat Djati17h 30m01:00 PMJakartaTerminal Manggarai6:30 AMSurabayaCentral Station0EconomyA Bus from Kramat Djati goes from Terminal Manggarai, Jakarta (Indonesia) at 6/19/2026 1:00:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/20/2026 6:30:00 AM. 50 Economy ticket for $16 per person are available. Travel duration is 17h 30m
-
Pahala Kencana16h 10m01:35 PMJakartaTerminal Manggarai5:45 AMSurabayaCentral Station0EconomyA Bus from Pahala Kencana goes from Terminal Manggarai, Jakarta (Indonesia) at 6/19/2026 1:35:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/20/2026 5:45:00 AM. 50 Economy ticket for $17 per person are available. Travel duration is 16h 10m
-
Gunung Harta17h 30m012:00 PMJakartaTerminal Manggarai5:30 AMSurabayaCentral Station0EconomyA Bus from Gunung Harta goes from Terminal Manggarai, Jakarta (Indonesia) at 6/19/2026 12:00:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/20/2026 5:30:00 AM. 50 Economy ticket for $19 per person are available. Travel duration is 17h 30m
-
Batik Air1h 25m05:25 AMHalim Perdanakusuma AirportHalim Perdanakusuma Airport6:50 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Batik Air goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 6/19/2026 5:25:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/19/2026 6:50:00 AM. 50 Economy ticket for $85 per person are available. Travel duration is 1h 25m
-
Batik Air1h 25m08:50 AMHalim Perdanakusuma AirportHalim Perdanakusuma Airport10:15 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Batik Air goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 6/19/2026 8:50:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/19/2026 10:15:00 AM. 50 Economy ticket for $85 per person are available. Travel duration is 1h 25m
-
Citilink1h 35m012:35 PMHalim Perdanakusuma AirportHalim Perdanakusuma Airport2:10 PMSurabaya AirportSurabaya Airport0EconomyA Flight from Citilink goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 6/19/2026 12:35:00 PM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/19/2026 2:10:00 PM. 50 Economy ticket for $88 per person are available. Travel duration is 1h 35m
-
Citilink1h 25m08:20 PMHalim Perdanakusuma AirportHalim Perdanakusuma Airport9:45 PMSurabaya AirportSurabaya Airport0EconomyA Flight from Citilink goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 6/19/2026 8:20:00 PM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/19/2026 9:45:00 PM. 50 Economy ticket for $88 per person are available. Travel duration is 1h 25m
-
Garuda Indonesia1h 40m06:50 AMSoekarno-Hatta AirportStasiun KA Bandara Bus Stop8:30 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Garuda Indonesia goes from Stasiun KA Bandara Bus Stop, Soekarno-Hatta Airport (Indonesia) at 6/19/2026 6:50:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/19/2026 8:30:00 AM. 50 Economy ticket for $90 per person are available. Travel duration is 1h 40m
Cheapest Buses Friday
Cheapest Flights Friday
-
Medali Mas13h 30m05:30 PMJakartaTeuku Umar 8 Bus Station6:00 AMSurabayaCentral Station0BusinessA Bus from Medali Mas goes from Teuku Umar 8 Bus Station, Jakarta (Indonesia) at 6/20/2026 5:30:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/21/2026 6:00:00 AM. 50 Business ticket for $11 per person are available. Travel duration is 13h 30m
-
Sarwonadhi Trans10h 40m09:00 AMJakartaTeuku Umar 8 Bus Station6:40 PMSurabayaCentral Station0EconomyA Bus from Sarwonadhi Trans goes from Teuku Umar 8 Bus Station, Jakarta (Indonesia) at 6/20/2026 9:00:00 AM to Central Station, Surabaya (Indonesia) arriving at 6/20/2026 6:40:00 PM. 50 Economy ticket for $15 per person are available. Travel duration is 10h 40m
-
Kramat Djati17h 30m01:00 PMJakartaTerminal Manggarai6:30 AMSurabayaCentral Station0EconomyA Bus from Kramat Djati goes from Terminal Manggarai, Jakarta (Indonesia) at 6/20/2026 1:00:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/21/2026 6:30:00 AM. 50 Economy ticket for $16 per person are available. Travel duration is 17h 30m
-
Pahala Kencana17h 55m012:25 PMJakartaTerminal Manggarai6:20 AMSurabayaCentral Station0EconomyA Bus from Pahala Kencana goes from Terminal Manggarai, Jakarta (Indonesia) at 6/20/2026 12:25:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/21/2026 6:20:00 AM. 50 Economy ticket for $17 per person are available. Travel duration is 17h 55m
-
Gunung Harta17h 30m012:00 PMJakartaTerminal Manggarai5:30 AMSurabayaCentral Station0EconomyA Bus from Gunung Harta goes from Terminal Manggarai, Jakarta (Indonesia) at 6/20/2026 12:00:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/21/2026 5:30:00 AM. 50 Economy ticket for $20 per person are available. Travel duration is 17h 30m
-
Lion Air1h 30m03:30 AMJakarta AirportJakarta Airport5:00 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Lion Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 6/20/2026 3:30:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/20/2026 5:00:00 AM. 50 Economy ticket for $75 per person are available. Travel duration is 1h 30m
-
Batik Air1h 30m06:00 AMJakarta AirportJakarta Airport7:30 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Batik Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 6/20/2026 6:00:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/20/2026 7:30:00 AM. 50 Economy ticket for $85 per person are available. Travel duration is 1h 30m
-
Citilink1h 35m06:55 AMHalim Perdanakusuma AirportHalim Perdanakusuma Airport8:30 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Citilink goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 6/20/2026 6:55:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/20/2026 8:30:00 AM. 50 Economy ticket for $86 per person are available. Travel duration is 1h 35m
-
Garuda Indonesia1h 40m08:10 PMSoekarno-Hatta AirportStasiun KA Bandara Bus Stop9:50 PMSurabaya AirportSurabaya Airport0EconomyA Flight from Garuda Indonesia goes from Stasiun KA Bandara Bus Stop, Soekarno-Hatta Airport (Indonesia) at 6/20/2026 8:10:00 PM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/20/2026 9:50:00 PM. 50 Economy ticket for $90 per person are available. Travel duration is 1h 40m
-
Pelita Air1h 35m06:30 AMJakarta AirportJakarta Airport8:05 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Pelita Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 6/20/2026 6:30:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/20/2026 8:05:00 AM. 50 Economy ticket for $102 per person are available. Travel duration is 1h 35m
Cheapest Buses Saturday
Cheapest Flights Saturday
-
Medali Mas13h 30m05:30 PMJakartaTeuku Umar 8 Bus Station6:00 AMSurabayaCentral Station0BusinessA Bus from Medali Mas goes from Teuku Umar 8 Bus Station, Jakarta (Indonesia) at 6/21/2026 5:30:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/22/2026 6:00:00 AM. 50 Business ticket for $11 per person are available. Travel duration is 13h 30m
-
Sarwonadhi Trans10h 40m09:00 AMJakartaTeuku Umar 8 Bus Station6:40 PMSurabayaCentral Station0EconomyA Bus from Sarwonadhi Trans goes from Teuku Umar 8 Bus Station, Jakarta (Indonesia) at 6/21/2026 9:00:00 AM to Central Station, Surabaya (Indonesia) arriving at 6/21/2026 6:40:00 PM. 50 Economy ticket for $15 per person are available. Travel duration is 10h 40m
-
Pahala Kencana16h 0m01:35 PMJakartaTerminal Manggarai5:35 AMSurabayaCentral Station0EconomyA Bus from Pahala Kencana goes from Terminal Manggarai, Jakarta (Indonesia) at 6/21/2026 1:35:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/22/2026 5:35:00 AM. 50 Economy ticket for $17 per person are available. Travel duration is 16h 0m
-
Haryanto Bojonegoro14h 15m08:30 AMJakartaTerminal Manggarai10:45 PMSurabayaCentral Station0EconomyA Bus from Haryanto Bojonegoro goes from Terminal Manggarai, Jakarta (Indonesia) at 6/21/2026 8:30:00 AM to Central Station, Surabaya (Indonesia) arriving at 6/21/2026 10:45:00 PM. 50 Economy ticket for $19 per person are available. Travel duration is 14h 15m
-
Gunung Harta17h 30m012:00 PMJakartaTerminal Manggarai5:30 AMSurabayaCentral Station0EconomyA Bus from Gunung Harta goes from Terminal Manggarai, Jakarta (Indonesia) at 6/21/2026 12:00:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/22/2026 5:30:00 AM. 50 Economy ticket for $20 per person are available. Travel duration is 17h 30m
-
Lion Air1h 30m03:30 AMJakarta AirportJakarta Airport5:00 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Lion Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 6/21/2026 3:30:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/21/2026 5:00:00 AM. 50 Economy ticket for $75 per person are available. Travel duration is 1h 30m
-
Batik Air1h 25m05:25 AMHalim Perdanakusuma AirportHalim Perdanakusuma Airport6:50 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Batik Air goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 6/21/2026 5:25:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/21/2026 6:50:00 AM. 50 Economy ticket for $85 per person are available. Travel duration is 1h 25m
-
Garuda Indonesia1h 40m06:50 AMSoekarno-Hatta AirportStasiun KA Bandara Bus Stop8:30 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Garuda Indonesia goes from Stasiun KA Bandara Bus Stop, Soekarno-Hatta Airport (Indonesia) at 6/21/2026 6:50:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/21/2026 8:30:00 AM. 50 Economy ticket for $86 per person are available. Travel duration is 1h 40m
-
Citilink1h 35m05:25 AMSoekarno-Hatta AirportStasiun KA Bandara Bus Stop7:00 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Citilink goes from Stasiun KA Bandara Bus Stop, Soekarno-Hatta Airport (Indonesia) at 6/21/2026 5:25:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/21/2026 7:00:00 AM. 50 Economy ticket for $89 per person are available. Travel duration is 1h 35m
-
Pelita Air1h 30m08:25 AMJakarta AirportJakarta Airport9:55 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Pelita Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 6/21/2026 8:25:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/21/2026 9:55:00 AM. 50 Economy ticket for $89 per person are available. Travel duration is 1h 30m
Cheapest Buses Sunday
Cheapest Flights Sunday
-
Medali Mas12h 30m05:30 PMJakartaTeuku Umar 8 Bus Station6:00 AMSurabayaCentral Station0BusinessA Bus from Medali Mas goes from Teuku Umar 8 Bus Station, Jakarta (Indonesia) at 6/22/2026 5:30:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/23/2026 6:00:00 AM. 50 Business ticket for $11 per person are available. Travel duration is 12h 30m
-
Sarwonadhi Trans9h 40m09:00 AMJakartaTeuku Umar 8 Bus Station6:40 PMSurabayaCentral Station0EconomyA Bus from Sarwonadhi Trans goes from Teuku Umar 8 Bus Station, Jakarta (Indonesia) at 6/22/2026 9:00:00 AM to Central Station, Surabaya (Indonesia) arriving at 6/22/2026 6:40:00 PM. 50 Economy ticket for $15 per person are available. Travel duration is 9h 40m
-
Kramat Djati16h 0m02:30 PMJakartaTerminal Manggarai6:30 AMSurabayaCentral Station0EconomyA Bus from Kramat Djati goes from Terminal Manggarai, Jakarta (Indonesia) at 6/22/2026 2:30:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/23/2026 6:30:00 AM. 50 Economy ticket for $16 per person are available. Travel duration is 16h 0m
-
Pahala Kencana17h 55m012:25 PMJakartaTerminal Manggarai6:20 AMSurabayaCentral Station0EconomyA Bus from Pahala Kencana goes from Terminal Manggarai, Jakarta (Indonesia) at 6/22/2026 12:25:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/23/2026 6:20:00 AM. 50 Economy ticket for $17 per person are available. Travel duration is 17h 55m
-
Gunung Harta17h 30m012:00 PMJakartaTerminal Manggarai5:30 AMSurabayaCentral Station0EconomyA Bus from Gunung Harta goes from Terminal Manggarai, Jakarta (Indonesia) at 6/22/2026 12:00:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/23/2026 5:30:00 AM. 50 Economy ticket for $20 per person are available. Travel duration is 17h 30m
-
Lion Air1h 30m03:30 AMJakarta AirportJakarta Airport5:00 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Lion Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 6/22/2026 3:30:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/22/2026 5:00:00 AM. 50 Economy ticket for $76 per person are available. Travel duration is 1h 30m
-
Batik Air1h 25m05:25 AMHalim Perdanakusuma AirportHalim Perdanakusuma Airport6:50 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Batik Air goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 6/22/2026 5:25:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/22/2026 6:50:00 AM. 50 Economy ticket for $85 per person are available. Travel duration is 1h 25m
-
Citilink1h 35m012:35 PMHalim Perdanakusuma AirportHalim Perdanakusuma Airport2:10 PMSurabaya AirportSurabaya Airport0EconomyA Flight from Citilink goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 6/22/2026 12:35:00 PM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/22/2026 2:10:00 PM. 50 Economy ticket for $88 per person are available. Travel duration is 1h 35m
-
Pelita Air1h 35m06:30 AMJakarta AirportJakarta Airport8:05 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Pelita Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 6/22/2026 6:30:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/22/2026 8:05:00 AM. 50 Economy ticket for $93 per person are available. Travel duration is 1h 35m
-
Garuda Indonesia1h 40m06:50 AMSoekarno-Hatta AirportStasiun KA Bandara Bus Stop8:30 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Garuda Indonesia goes from Stasiun KA Bandara Bus Stop, Soekarno-Hatta Airport (Indonesia) at 6/22/2026 6:50:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/22/2026 8:30:00 AM. 50 Economy ticket for $109 per person are available. Travel duration is 1h 40m
Cheapest Buses Monday
Cheapest Flights Monday
-
Medali Mas13h 30m05:30 PMJakartaTeuku Umar 8 Bus Station6:00 AMSurabayaCentral Station0BusinessA Bus from Medali Mas goes from Teuku Umar 8 Bus Station, Jakarta (Indonesia) at 6/23/2026 5:30:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/24/2026 6:00:00 AM. 50 Business ticket for $11 per person are available. Travel duration is 13h 30m
-
Sarwonadhi Trans10h 40m09:00 AMJakartaTeuku Umar 8 Bus Station6:40 PMSurabayaCentral Station0EconomyA Bus from Sarwonadhi Trans goes from Teuku Umar 8 Bus Station, Jakarta (Indonesia) at 6/23/2026 9:00:00 AM to Central Station, Surabaya (Indonesia) arriving at 6/23/2026 6:40:00 PM. 50 Economy ticket for $15 per person are available. Travel duration is 10h 40m
-
Kramat Djati16h 0m02:30 PMJakartaTerminal Manggarai6:30 AMSurabayaCentral Station0EconomyA Bus from Kramat Djati goes from Terminal Manggarai, Jakarta (Indonesia) at 6/23/2026 2:30:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/24/2026 6:30:00 AM. 50 Economy ticket for $16 per person are available. Travel duration is 16h 0m
-
Pahala Kencana16h 0m01:35 PMJakartaTerminal Manggarai5:35 AMSurabayaCentral Station0EconomyA Bus from Pahala Kencana goes from Terminal Manggarai, Jakarta (Indonesia) at 6/23/2026 1:35:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/24/2026 5:35:00 AM. 50 Economy ticket for $17 per person are available. Travel duration is 16h 0m
-
Damri Express10h 0m08:00 AMJakartaTerminal Pulo Gebang6:00 PMSurabayaTerminal Purabaya-Bungurasih0BusinessA Bus from Damri Express goes from Terminal Pulo Gebang, Jakarta (Indonesia) at 6/23/2026 8:00:00 AM to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 6/23/2026 6:00:00 PM. 50 Business ticket for $17 per person are available. Travel duration is 10h 0m
-
Lion Air1h 30m03:30 AMJakarta AirportJakarta Airport5:00 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Lion Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 6/23/2026 3:30:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/23/2026 5:00:00 AM. 50 Economy ticket for $75 per person are available. Travel duration is 1h 30m
-
Batik Air1h 25m05:25 AMHalim Perdanakusuma AirportHalim Perdanakusuma Airport6:50 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Batik Air goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 6/23/2026 5:25:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/23/2026 6:50:00 AM. 50 Economy ticket for $84 per person are available. Travel duration is 1h 25m
-
Pelita Air1h 30m08:25 AMJakarta AirportJakarta Airport9:55 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Pelita Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 6/23/2026 8:25:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/23/2026 9:55:00 AM. 50 Economy ticket for $86 per person are available. Travel duration is 1h 30m
-
Citilink1h 35m06:55 AMHalim Perdanakusuma AirportHalim Perdanakusuma Airport8:30 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Citilink goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 6/23/2026 6:55:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/23/2026 8:30:00 AM. 50 Economy ticket for $91 per person are available. Travel duration is 1h 35m
-
Garuda Indonesia1h 40m06:50 AMJakarta AirportJakarta Airport8:30 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Garuda Indonesia goes from Jakarta Airport, Jakarta Airport (Indonesia) at 6/23/2026 6:50:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/23/2026 8:30:00 AM. 50 Economy ticket for $106 per person are available. Travel duration is 1h 40m
Cheapest Buses Tuesday
Cheapest Flights Tuesday
-
Sarwonadhi Trans10h 40m09:00 AMJakartaTeuku Umar 8 Bus Station6:40 PMSurabayaCentral Station0EconomyA Bus from Sarwonadhi Trans goes from Teuku Umar 8 Bus Station, Jakarta (Indonesia) at 6/24/2026 9:00:00 AM to Central Station, Surabaya (Indonesia) arriving at 6/24/2026 6:40:00 PM. 50 Economy ticket for $15 per person are available. Travel duration is 10h 40m
-
Kramat Djati18h 0m01:00 PMJakartaTerminal Manggarai7:00 AMSurabayaCentral Station0EconomyA Bus from Kramat Djati goes from Terminal Manggarai, Jakarta (Indonesia) at 6/24/2026 1:00:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/25/2026 7:00:00 AM. 50 Economy ticket for $16 per person are available. Travel duration is 18h 0m
-
Pahala Kencana17h 55m012:25 PMJakartaTerminal Manggarai6:20 AMSurabayaCentral Station0EconomyA Bus from Pahala Kencana goes from Terminal Manggarai, Jakarta (Indonesia) at 6/24/2026 12:25:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/25/2026 6:20:00 AM. 50 Economy ticket for $17 per person are available. Travel duration is 17h 55m
-
Gunung Harta17h 30m012:00 PMJakartaTerminal Manggarai5:30 AMSurabayaCentral Station0EconomyA Bus from Gunung Harta goes from Terminal Manggarai, Jakarta (Indonesia) at 6/24/2026 12:00:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/25/2026 5:30:00 AM. 50 Economy ticket for $19 per person are available. Travel duration is 17h 30m
-
Haryanto Bojonegoro14h 15m08:30 AMJakartaTerminal Manggarai10:45 PMSurabayaCentral Station0EconomyA Bus from Haryanto Bojonegoro goes from Terminal Manggarai, Jakarta (Indonesia) at 6/24/2026 8:30:00 AM to Central Station, Surabaya (Indonesia) arriving at 6/24/2026 10:45:00 PM. 50 Economy ticket for $19 per person are available. Travel duration is 14h 15m
-
Lion Air1h 30m03:30 AMJakarta AirportJakarta Airport5:00 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Lion Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 6/24/2026 3:30:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/24/2026 5:00:00 AM. 50 Economy ticket for $83 per person are available. Travel duration is 1h 30m
-
Pelita Air1h 35m06:30 AMJakarta AirportJakarta Airport8:05 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Pelita Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 6/24/2026 6:30:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/24/2026 8:05:00 AM. 50 Economy ticket for $92 per person are available. Travel duration is 1h 35m
-
Batik Air1h 25m05:25 AMHalim Perdanakusuma AirportHalim Perdanakusuma Airport6:50 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Batik Air goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 6/24/2026 5:25:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/24/2026 6:50:00 AM. 50 Economy ticket for $93 per person are available. Travel duration is 1h 25m
-
Citilink1h 35m012:35 PMHalim Perdanakusuma AirportHalim Perdanakusuma Airport2:10 PMSurabaya AirportSurabaya Airport0EconomyA Flight from Citilink goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 6/24/2026 12:35:00 PM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/24/2026 2:10:00 PM. 50 Economy ticket for $101 per person are available. Travel duration is 1h 35m
-
Garuda Indonesia1h 40m06:50 AMJakarta AirportJakarta Airport8:30 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Garuda Indonesia goes from Jakarta Airport, Jakarta Airport (Indonesia) at 6/24/2026 6:50:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/24/2026 8:30:00 AM. 50 Economy ticket for $133 per person are available. Travel duration is 1h 40m
Cheapest Buses Wednesday
Cheapest Flights Wednesday
What are the fastest trips from Jakarta to Surabaya?
You can get to Surabaya from Jakarta in just 1h 25m with a Flight from Batik Air. This is not the only option, and you can click on any of the offers below to compare it with the other modes of transportations.
-
Batik Air1h 25m01:35 PMHalim Perdanakusuma AirportHalim Perdanakusuma Airport3:00 PMSurabaya AirportSurabaya Airport0EconomyA Flight from Batik Air goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 6/18/2026 1:35:00 PM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/18/2026 3:00:00 PM. 50 Economy ticket for $56 per person are available. Travel duration is 1h 25m
-
Citilink1h 25m08:20 PMHalim Perdanakusuma AirportHalim Perdanakusuma Airport9:45 PMSurabaya AirportSurabaya Airport0EconomyA Flight from Citilink goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 6/18/2026 8:20:00 PM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/18/2026 9:45:00 PM. 50 Economy ticket for $70 per person are available. Travel duration is 1h 25m
-
Lion Air1h 30m03:30 AMSoekarno-Hatta AirportStasiun KA Bandara Bus Stop5:00 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Lion Air goes from Stasiun KA Bandara Bus Stop, Soekarno-Hatta Airport (Indonesia) at 6/18/2026 3:30:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/18/2026 5:00:00 AM. 50 Economy ticket for $62 per person are available. Travel duration is 1h 30m
-
Skyscanner1h 35m010:40 AMSoekarno-Hatta AirportStasiun KA Bandara Bus Stop12:15 PMSurabaya AirportSurabaya Airport0EconomyA Flight from Skyscanner goes from Stasiun KA Bandara Bus Stop, Soekarno-Hatta Airport (Indonesia) at 6/18/2026 10:40:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/18/2026 12:15:00 PM. 50 Economy ticket for $80 per person are available. Travel duration is 1h 35m
-
Pelita Air1h 35m010:40 AMJakarta AirportJakarta Airport12:15 PMSurabaya AirportSurabaya Airport0EconomyA Flight from Pelita Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 6/18/2026 10:40:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/18/2026 12:15:00 PM. 50 Economy ticket for $86 per person are available. Travel duration is 1h 35m
-
Sarwonadhi Trans9h 40m09:00 AMJakartaTeuku Umar 8 Bus Station6:40 PMSurabayaCentral Station0EconomyA Bus from Sarwonadhi Trans goes from Teuku Umar 8 Bus Station, Jakarta (Indonesia) at 6/18/2026 9:00:00 AM to Central Station, Surabaya (Indonesia) arriving at 6/18/2026 6:40:00 PM. 50 Economy ticket for $15 per person are available. Travel duration is 9h 40m
-
Harapan Jaya10h 0m01:15 PMJakartaCililitan Besar Bus Stop11:15 PMSurabayaSidotopo Bus Station0EconomyA Bus from Harapan Jaya goes from Cililitan Besar Bus Stop, Jakarta (Indonesia) at 6/18/2026 1:15:00 PM to Sidotopo Bus Station, Surabaya (Indonesia) arriving at 6/18/2026 11:15:00 PM. 50 Economy ticket for $14 per person are available. Travel duration is 10h 0m
-
Medali Mas12h 30m05:30 PMJakartaTeuku Umar 8 Bus Station6:00 AMSurabayaCentral Station0BusinessA Bus from Medali Mas goes from Teuku Umar 8 Bus Station, Jakarta (Indonesia) at 6/18/2026 5:30:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/19/2026 6:00:00 AM. 50 Business ticket for $11 per person are available. Travel duration is 12h 30m
-
Pahala Kencana15h 45m01:50 PMJakartaTerminal Manggarai5:35 AMSurabayaCentral Station0EconomyA Bus from Pahala Kencana goes from Terminal Manggarai, Jakarta (Indonesia) at 6/18/2026 1:50:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/19/2026 5:35:00 AM. 50 Economy ticket for $17 per person are available. Travel duration is 15h 45m
-
Kramat Djati16h 0m02:30 PMJakartaTerminal Manggarai6:30 AMSurabayaCentral Station0EconomyA Bus from Kramat Djati goes from Terminal Manggarai, Jakarta (Indonesia) at 6/18/2026 2:30:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/19/2026 6:30:00 AM. 50 Economy ticket for $16 per person are available. Travel duration is 16h 0m
Fastest Flights Thursday
Fastest Buses Thursday
-
Batik Air1h 25m05:25 AMHalim Perdanakusuma AirportHalim Perdanakusuma Airport6:50 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Batik Air goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 6/19/2026 5:25:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/19/2026 6:50:00 AM. 50 Economy ticket for $85 per person are available. Travel duration is 1h 25m
-
Batik Air1h 25m08:50 AMHalim Perdanakusuma AirportHalim Perdanakusuma Airport10:15 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Batik Air goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 6/19/2026 8:50:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/19/2026 10:15:00 AM. 50 Economy ticket for $85 per person are available. Travel duration is 1h 25m
-
Citilink1h 25m08:20 PMHalim Perdanakusuma AirportHalim Perdanakusuma Airport9:45 PMSurabaya AirportSurabaya Airport0EconomyA Flight from Citilink goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 6/19/2026 8:20:00 PM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/19/2026 9:45:00 PM. 50 Economy ticket for $88 per person are available. Travel duration is 1h 25m
-
Citilink1h 35m012:35 PMHalim Perdanakusuma AirportHalim Perdanakusuma Airport2:10 PMSurabaya AirportSurabaya Airport0EconomyA Flight from Citilink goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 6/19/2026 12:35:00 PM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/19/2026 2:10:00 PM. 50 Economy ticket for $88 per person are available. Travel duration is 1h 35m
-
Garuda Indonesia1h 40m06:50 AMSoekarno-Hatta AirportStasiun KA Bandara Bus Stop8:30 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Garuda Indonesia goes from Stasiun KA Bandara Bus Stop, Soekarno-Hatta Airport (Indonesia) at 6/19/2026 6:50:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/19/2026 8:30:00 AM. 50 Economy ticket for $90 per person are available. Travel duration is 1h 40m
-
Sarwonadhi Trans10h 40m09:00 AMJakartaTeuku Umar 8 Bus Station6:40 PMSurabayaCentral Station0EconomyA Bus from Sarwonadhi Trans goes from Teuku Umar 8 Bus Station, Jakarta (Indonesia) at 6/19/2026 9:00:00 AM to Central Station, Surabaya (Indonesia) arriving at 6/19/2026 6:40:00 PM. 50 Economy ticket for $15 per person are available. Travel duration is 10h 40m
-
Medali Mas13h 30m05:30 PMJakartaTeuku Umar 8 Bus Station6:00 AMSurabayaCentral Station0BusinessA Bus from Medali Mas goes from Teuku Umar 8 Bus Station, Jakarta (Indonesia) at 6/19/2026 5:30:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/20/2026 6:00:00 AM. 50 Business ticket for $11 per person are available. Travel duration is 13h 30m
-
Pahala Kencana16h 10m01:35 PMJakartaTerminal Manggarai5:45 AMSurabayaCentral Station0EconomyA Bus from Pahala Kencana goes from Terminal Manggarai, Jakarta (Indonesia) at 6/19/2026 1:35:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/20/2026 5:45:00 AM. 50 Economy ticket for $17 per person are available. Travel duration is 16h 10m
-
Kramat Djati17h 30m01:00 PMJakartaTerminal Manggarai6:30 AMSurabayaCentral Station0EconomyA Bus from Kramat Djati goes from Terminal Manggarai, Jakarta (Indonesia) at 6/19/2026 1:00:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/20/2026 6:30:00 AM. 50 Economy ticket for $16 per person are available. Travel duration is 17h 30m
-
Gunung Harta17h 30m012:00 PMJakartaTerminal Manggarai5:30 AMSurabayaCentral Station0EconomyA Bus from Gunung Harta goes from Terminal Manggarai, Jakarta (Indonesia) at 6/19/2026 12:00:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/20/2026 5:30:00 AM. 50 Economy ticket for $19 per person are available. Travel duration is 17h 30m
Fastest Flights Friday
Fastest Buses Friday
-
Lion Air1h 30m03:30 AMJakarta AirportJakarta Airport5:00 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Lion Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 6/20/2026 3:30:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/20/2026 5:00:00 AM. 50 Economy ticket for $75 per person are available. Travel duration is 1h 30m
-
Batik Air1h 30m06:00 AMJakarta AirportJakarta Airport7:30 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Batik Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 6/20/2026 6:00:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/20/2026 7:30:00 AM. 50 Economy ticket for $85 per person are available. Travel duration is 1h 30m
-
Citilink1h 35m06:55 AMHalim Perdanakusuma AirportHalim Perdanakusuma Airport8:30 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Citilink goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 6/20/2026 6:55:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/20/2026 8:30:00 AM. 50 Economy ticket for $86 per person are available. Travel duration is 1h 35m
-
Pelita Air1h 35m06:30 AMJakarta AirportJakarta Airport8:05 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Pelita Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 6/20/2026 6:30:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/20/2026 8:05:00 AM. 50 Economy ticket for $102 per person are available. Travel duration is 1h 35m
-
Garuda Indonesia1h 40m08:10 PMSoekarno-Hatta AirportStasiun KA Bandara Bus Stop9:50 PMSurabaya AirportSurabaya Airport0EconomyA Flight from Garuda Indonesia goes from Stasiun KA Bandara Bus Stop, Soekarno-Hatta Airport (Indonesia) at 6/20/2026 8:10:00 PM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/20/2026 9:50:00 PM. 50 Economy ticket for $90 per person are available. Travel duration is 1h 40m
-
Sarwonadhi Trans10h 40m09:00 AMJakartaTeuku Umar 8 Bus Station6:40 PMSurabayaCentral Station0EconomyA Bus from Sarwonadhi Trans goes from Teuku Umar 8 Bus Station, Jakarta (Indonesia) at 6/20/2026 9:00:00 AM to Central Station, Surabaya (Indonesia) arriving at 6/20/2026 6:40:00 PM. 50 Economy ticket for $15 per person are available. Travel duration is 10h 40m
-
Medali Mas13h 30m05:30 PMJakartaTeuku Umar 8 Bus Station6:00 AMSurabayaCentral Station0BusinessA Bus from Medali Mas goes from Teuku Umar 8 Bus Station, Jakarta (Indonesia) at 6/20/2026 5:30:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/21/2026 6:00:00 AM. 50 Business ticket for $11 per person are available. Travel duration is 13h 30m
-
Kramat Djati17h 30m01:00 PMJakartaTerminal Manggarai6:30 AMSurabayaCentral Station0EconomyA Bus from Kramat Djati goes from Terminal Manggarai, Jakarta (Indonesia) at 6/20/2026 1:00:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/21/2026 6:30:00 AM. 50 Economy ticket for $16 per person are available. Travel duration is 17h 30m
-
Gunung Harta17h 30m012:00 PMJakartaTerminal Manggarai5:30 AMSurabayaCentral Station0EconomyA Bus from Gunung Harta goes from Terminal Manggarai, Jakarta (Indonesia) at 6/20/2026 12:00:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/21/2026 5:30:00 AM. 50 Economy ticket for $20 per person are available. Travel duration is 17h 30m
-
Pahala Kencana17h 55m012:25 PMJakartaTerminal Manggarai6:20 AMSurabayaCentral Station0EconomyA Bus from Pahala Kencana goes from Terminal Manggarai, Jakarta (Indonesia) at 6/20/2026 12:25:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/21/2026 6:20:00 AM. 50 Economy ticket for $17 per person are available. Travel duration is 17h 55m
Fastest Flights Saturday
Fastest Buses Saturday
-
Batik Air1h 25m05:25 AMHalim Perdanakusuma AirportHalim Perdanakusuma Airport6:50 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Batik Air goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 6/21/2026 5:25:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/21/2026 6:50:00 AM. 50 Economy ticket for $85 per person are available. Travel duration is 1h 25m
-
Lion Air1h 30m03:30 AMJakarta AirportJakarta Airport5:00 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Lion Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 6/21/2026 3:30:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/21/2026 5:00:00 AM. 50 Economy ticket for $75 per person are available. Travel duration is 1h 30m
-
Pelita Air1h 30m08:25 AMJakarta AirportJakarta Airport9:55 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Pelita Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 6/21/2026 8:25:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/21/2026 9:55:00 AM. 50 Economy ticket for $89 per person are available. Travel duration is 1h 30m
-
Citilink1h 35m05:25 AMSoekarno-Hatta AirportStasiun KA Bandara Bus Stop7:00 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Citilink goes from Stasiun KA Bandara Bus Stop, Soekarno-Hatta Airport (Indonesia) at 6/21/2026 5:25:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/21/2026 7:00:00 AM. 50 Economy ticket for $89 per person are available. Travel duration is 1h 35m
-
Garuda Indonesia1h 40m06:50 AMSoekarno-Hatta AirportStasiun KA Bandara Bus Stop8:30 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Garuda Indonesia goes from Stasiun KA Bandara Bus Stop, Soekarno-Hatta Airport (Indonesia) at 6/21/2026 6:50:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/21/2026 8:30:00 AM. 50 Economy ticket for $86 per person are available. Travel duration is 1h 40m
-
Sarwonadhi Trans10h 40m09:00 AMJakartaTeuku Umar 8 Bus Station6:40 PMSurabayaCentral Station0EconomyA Bus from Sarwonadhi Trans goes from Teuku Umar 8 Bus Station, Jakarta (Indonesia) at 6/21/2026 9:00:00 AM to Central Station, Surabaya (Indonesia) arriving at 6/21/2026 6:40:00 PM. 50 Economy ticket for $15 per person are available. Travel duration is 10h 40m
-
Medali Mas13h 30m05:30 PMJakartaTeuku Umar 8 Bus Station6:00 AMSurabayaCentral Station0BusinessA Bus from Medali Mas goes from Teuku Umar 8 Bus Station, Jakarta (Indonesia) at 6/21/2026 5:30:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/22/2026 6:00:00 AM. 50 Business ticket for $11 per person are available. Travel duration is 13h 30m
-
Haryanto Bojonegoro14h 15m08:30 AMJakartaTerminal Manggarai10:45 PMSurabayaCentral Station0EconomyA Bus from Haryanto Bojonegoro goes from Terminal Manggarai, Jakarta (Indonesia) at 6/21/2026 8:30:00 AM to Central Station, Surabaya (Indonesia) arriving at 6/21/2026 10:45:00 PM. 50 Economy ticket for $19 per person are available. Travel duration is 14h 15m
-
Pahala Kencana16h 0m01:35 PMJakartaTerminal Manggarai5:35 AMSurabayaCentral Station0EconomyA Bus from Pahala Kencana goes from Terminal Manggarai, Jakarta (Indonesia) at 6/21/2026 1:35:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/22/2026 5:35:00 AM. 50 Economy ticket for $17 per person are available. Travel duration is 16h 0m
-
Gunung Harta17h 30m012:00 PMJakartaTerminal Manggarai5:30 AMSurabayaCentral Station0EconomyA Bus from Gunung Harta goes from Terminal Manggarai, Jakarta (Indonesia) at 6/21/2026 12:00:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/22/2026 5:30:00 AM. 50 Economy ticket for $20 per person are available. Travel duration is 17h 30m
Fastest Flights Sunday
Fastest Buses Sunday
-
Batik Air1h 25m05:25 AMHalim Perdanakusuma AirportHalim Perdanakusuma Airport6:50 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Batik Air goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 6/22/2026 5:25:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/22/2026 6:50:00 AM. 50 Economy ticket for $85 per person are available. Travel duration is 1h 25m
-
Lion Air1h 30m03:30 AMJakarta AirportJakarta Airport5:00 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Lion Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 6/22/2026 3:30:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/22/2026 5:00:00 AM. 50 Economy ticket for $76 per person are available. Travel duration is 1h 30m
-
Citilink1h 35m012:35 PMHalim Perdanakusuma AirportHalim Perdanakusuma Airport2:10 PMSurabaya AirportSurabaya Airport0EconomyA Flight from Citilink goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 6/22/2026 12:35:00 PM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/22/2026 2:10:00 PM. 50 Economy ticket for $88 per person are available. Travel duration is 1h 35m
-
Pelita Air1h 35m06:30 AMJakarta AirportJakarta Airport8:05 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Pelita Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 6/22/2026 6:30:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/22/2026 8:05:00 AM. 50 Economy ticket for $93 per person are available. Travel duration is 1h 35m
-
Garuda Indonesia1h 40m06:50 AMSoekarno-Hatta AirportStasiun KA Bandara Bus Stop8:30 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Garuda Indonesia goes from Stasiun KA Bandara Bus Stop, Soekarno-Hatta Airport (Indonesia) at 6/22/2026 6:50:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/22/2026 8:30:00 AM. 50 Economy ticket for $109 per person are available. Travel duration is 1h 40m
-
Sarwonadhi Trans9h 40m09:00 AMJakartaTeuku Umar 8 Bus Station6:40 PMSurabayaCentral Station0EconomyA Bus from Sarwonadhi Trans goes from Teuku Umar 8 Bus Station, Jakarta (Indonesia) at 6/22/2026 9:00:00 AM to Central Station, Surabaya (Indonesia) arriving at 6/22/2026 6:40:00 PM. 50 Economy ticket for $15 per person are available. Travel duration is 9h 40m
-
Medali Mas12h 30m05:30 PMJakartaTeuku Umar 8 Bus Station6:00 AMSurabayaCentral Station0BusinessA Bus from Medali Mas goes from Teuku Umar 8 Bus Station, Jakarta (Indonesia) at 6/22/2026 5:30:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/23/2026 6:00:00 AM. 50 Business ticket for $11 per person are available. Travel duration is 12h 30m
-
Kramat Djati16h 0m02:30 PMJakartaTerminal Manggarai6:30 AMSurabayaCentral Station0EconomyA Bus from Kramat Djati goes from Terminal Manggarai, Jakarta (Indonesia) at 6/22/2026 2:30:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/23/2026 6:30:00 AM. 50 Economy ticket for $16 per person are available. Travel duration is 16h 0m
-
Gunung Harta17h 30m012:00 PMJakartaTerminal Manggarai5:30 AMSurabayaCentral Station0EconomyA Bus from Gunung Harta goes from Terminal Manggarai, Jakarta (Indonesia) at 6/22/2026 12:00:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/23/2026 5:30:00 AM. 50 Economy ticket for $20 per person are available. Travel duration is 17h 30m
-
Pahala Kencana17h 55m012:25 PMJakartaTerminal Manggarai6:20 AMSurabayaCentral Station0EconomyA Bus from Pahala Kencana goes from Terminal Manggarai, Jakarta (Indonesia) at 6/22/2026 12:25:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/23/2026 6:20:00 AM. 50 Economy ticket for $17 per person are available. Travel duration is 17h 55m
Fastest Flights Monday
Fastest Buses Monday
-
Batik Air1h 25m05:25 AMHalim Perdanakusuma AirportHalim Perdanakusuma Airport6:50 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Batik Air goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 6/23/2026 5:25:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/23/2026 6:50:00 AM. 50 Economy ticket for $84 per person are available. Travel duration is 1h 25m
-
Lion Air1h 30m03:30 AMJakarta AirportJakarta Airport5:00 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Lion Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 6/23/2026 3:30:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/23/2026 5:00:00 AM. 50 Economy ticket for $75 per person are available. Travel duration is 1h 30m
-
Pelita Air1h 30m08:25 AMJakarta AirportJakarta Airport9:55 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Pelita Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 6/23/2026 8:25:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/23/2026 9:55:00 AM. 50 Economy ticket for $86 per person are available. Travel duration is 1h 30m
-
Citilink1h 35m06:55 AMHalim Perdanakusuma AirportHalim Perdanakusuma Airport8:30 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Citilink goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 6/23/2026 6:55:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/23/2026 8:30:00 AM. 50 Economy ticket for $91 per person are available. Travel duration is 1h 35m
-
Garuda Indonesia1h 40m06:50 AMJakarta AirportJakarta Airport8:30 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Garuda Indonesia goes from Jakarta Airport, Jakarta Airport (Indonesia) at 6/23/2026 6:50:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/23/2026 8:30:00 AM. 50 Economy ticket for $106 per person are available. Travel duration is 1h 40m
-
Damri Express10h 0m08:00 AMJakartaTerminal Pulo Gebang6:00 PMSurabayaTerminal Purabaya-Bungurasih0BusinessA Bus from Damri Express goes from Terminal Pulo Gebang, Jakarta (Indonesia) at 6/23/2026 8:00:00 AM to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 6/23/2026 6:00:00 PM. 50 Business ticket for $17 per person are available. Travel duration is 10h 0m
-
Sarwonadhi Trans10h 40m09:00 AMJakartaTeuku Umar 8 Bus Station6:40 PMSurabayaCentral Station0EconomyA Bus from Sarwonadhi Trans goes from Teuku Umar 8 Bus Station, Jakarta (Indonesia) at 6/23/2026 9:00:00 AM to Central Station, Surabaya (Indonesia) arriving at 6/23/2026 6:40:00 PM. 50 Economy ticket for $15 per person are available. Travel duration is 10h 40m
-
Medali Mas13h 30m05:30 PMJakartaTeuku Umar 8 Bus Station6:00 AMSurabayaCentral Station0BusinessA Bus from Medali Mas goes from Teuku Umar 8 Bus Station, Jakarta (Indonesia) at 6/23/2026 5:30:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/24/2026 6:00:00 AM. 50 Business ticket for $11 per person are available. Travel duration is 13h 30m
-
Kramat Djati16h 0m02:30 PMJakartaTerminal Manggarai6:30 AMSurabayaCentral Station0EconomyA Bus from Kramat Djati goes from Terminal Manggarai, Jakarta (Indonesia) at 6/23/2026 2:30:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/24/2026 6:30:00 AM. 50 Economy ticket for $16 per person are available. Travel duration is 16h 0m
-
Pahala Kencana16h 0m01:35 PMJakartaTerminal Manggarai5:35 AMSurabayaCentral Station0EconomyA Bus from Pahala Kencana goes from Terminal Manggarai, Jakarta (Indonesia) at 6/23/2026 1:35:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/24/2026 5:35:00 AM. 50 Economy ticket for $17 per person are available. Travel duration is 16h 0m
Fastest Flights Tuesday
Fastest Buses Tuesday
-
Batik Air1h 25m05:25 AMHalim Perdanakusuma AirportHalim Perdanakusuma Airport6:50 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Batik Air goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 6/24/2026 5:25:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/24/2026 6:50:00 AM. 50 Economy ticket for $93 per person are available. Travel duration is 1h 25m
-
Lion Air1h 30m03:30 AMJakarta AirportJakarta Airport5:00 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Lion Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 6/24/2026 3:30:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/24/2026 5:00:00 AM. 50 Economy ticket for $83 per person are available. Travel duration is 1h 30m
-
Pelita Air1h 35m06:30 AMJakarta AirportJakarta Airport8:05 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Pelita Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 6/24/2026 6:30:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/24/2026 8:05:00 AM. 50 Economy ticket for $92 per person are available. Travel duration is 1h 35m
-
Citilink1h 35m012:35 PMHalim Perdanakusuma AirportHalim Perdanakusuma Airport2:10 PMSurabaya AirportSurabaya Airport0EconomyA Flight from Citilink goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 6/24/2026 12:35:00 PM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/24/2026 2:10:00 PM. 50 Economy ticket for $101 per person are available. Travel duration is 1h 35m
-
Garuda Indonesia1h 40m06:50 AMJakarta AirportJakarta Airport8:30 AMSurabaya AirportSurabaya Airport0EconomyA Flight from Garuda Indonesia goes from Jakarta Airport, Jakarta Airport (Indonesia) at 6/24/2026 6:50:00 AM to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 6/24/2026 8:30:00 AM. 50 Economy ticket for $133 per person are available. Travel duration is 1h 40m
-
Sarwonadhi Trans10h 40m09:00 AMJakartaTeuku Umar 8 Bus Station6:40 PMSurabayaCentral Station0EconomyA Bus from Sarwonadhi Trans goes from Teuku Umar 8 Bus Station, Jakarta (Indonesia) at 6/24/2026 9:00:00 AM to Central Station, Surabaya (Indonesia) arriving at 6/24/2026 6:40:00 PM. 50 Economy ticket for $15 per person are available. Travel duration is 10h 40m
-
Haryanto Bojonegoro14h 15m08:30 AMJakartaTerminal Manggarai10:45 PMSurabayaCentral Station0EconomyA Bus from Haryanto Bojonegoro goes from Terminal Manggarai, Jakarta (Indonesia) at 6/24/2026 8:30:00 AM to Central Station, Surabaya (Indonesia) arriving at 6/24/2026 10:45:00 PM. 50 Economy ticket for $19 per person are available. Travel duration is 14h 15m
-
Gunung Harta17h 30m012:00 PMJakartaTerminal Manggarai5:30 AMSurabayaCentral Station0EconomyA Bus from Gunung Harta goes from Terminal Manggarai, Jakarta (Indonesia) at 6/24/2026 12:00:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/25/2026 5:30:00 AM. 50 Economy ticket for $19 per person are available. Travel duration is 17h 30m
-
Pahala Kencana17h 55m012:25 PMJakartaTerminal Manggarai6:20 AMSurabayaCentral Station0EconomyA Bus from Pahala Kencana goes from Terminal Manggarai, Jakarta (Indonesia) at 6/24/2026 12:25:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/25/2026 6:20:00 AM. 50 Economy ticket for $17 per person are available. Travel duration is 17h 55m
-
Kramat Djati18h 0m01:00 PMJakartaTerminal Manggarai7:00 AMSurabayaCentral Station0EconomyA Bus from Kramat Djati goes from Terminal Manggarai, Jakarta (Indonesia) at 6/24/2026 1:00:00 PM to Central Station, Surabaya (Indonesia) arriving at 6/25/2026 7:00:00 AM. 50 Economy ticket for $16 per person are available. Travel duration is 18h 0m
Fastest Flights Wednesday
Fastest Buses Wednesday
Here you will find all operators and timetables for a
Bus from Jakarta to Surabaya
What are the most popular stations in Jakarta and Surabaya?
In Jakarta, you will usually depart from Terminal Pasar Minggu, Teuku Umar 8 Bus Station or Terminal Manggarai, while in Surabaya you will be arriving at Terminal Purabaya-Bungurasih, Gubeng Train Station or Central Station, but there are many more stops to explore in both locations.
How do I decide? Some tips and tricks from our experience
Are you having trouble deciding on how to get to Surabaya from Jakarta? With 10 connections between 25 Flight and Bus operators, it can be difficult to find the one ride that will make you happy. But we have some tips that can help you make the best informed decision. First of all, the best trip is always the one that meets all your needs, so make a list of all the things that you want from this journey and look for something that will satisfy all of them. Here we will go through some of the factors mostly commonly taken into consideration.
Look for the lowest price
Ticket price is usually the main concern: even if you can afford to pay more, why do it if there are cheaper options? Saving on the trip means that you can spend more on the vacation itself! Between Jakarta and Surabaya, you can pay as low as $11 with a Bus from Medali Mas.Travel duration
Time is also an important factor. An earlier departure may allow you to see a beautiful sunset or relax before an important event. And remember, time is money, so paying more for a shorter trip may be well worth it. For longer distances, flights are without doubt the best options, but be mindful of airport times and possible delays: a high-speed train may end up cheaper and faster! Here the quicker option is definitely the Flight from Batik Air: you will get to Surabaya in just 1h 25m.Comfort makes all the difference
You should always take into account what your personal travelling preferences are. Is one hand luggage enough, or are you trasporting more? Would you like to have a snack during the journey? Can you relax in a busy compartment, or do you need space for yourself? Even among the same mode of transportation, different companies will offer you varying levels of comfort and amenities. The main operators connecting Jakarta and Surabaya are Batik Air, Citilink and Sarwonadhi Trans, but be sure to check what they have to offer!Save money with deals, and always compare
One last tip? Even if you live in Jakarta and Surabaya is your only destination, it may be wise to check the offers from and to nearby cities or, if you are flyng, nearby airports. Check the trips from Tebet or to Surbaya, and look at flights from Halim Perdanakusuma Airport, and landing at Surabaya Airport. Comparing different routes may allow you to find deals or promotions you were not aware of. Consider also signing up to CheckMyBus to see even more exclusive promotions!Which companies offer a trip from Jakarta to Surabaya?
The most popular companies between Jakarta and Surabaya, are Batik Air, Citilink and Sarwonadhi Trans. Be sure to check their seat class offers and the amenities that they provide.
Bus companies: Sarwonadhi Trans, Pahala Kencana, Medali Mas and 5 more.
Airlines: Batik Air, Citilink, Lion Air and 3 more.
All you need to know when you travel from Jakarta to Surabaya
Check all information on comfort and services on all modes of transports from Jakarta to Surabaya. See which seat classes are available, and what amenities are other advantages offered by the operators on your journey.
FAQs about the trip from Jakarta to Surabaya
How can I reach Surabaya from Jakarta?
Every day, there are on average 10 connections between Flight and Bus, with which you can get to Surabaya from Jakarta.
How far is Surabaya from Jakarta?
The distance between Jakarta and Surabaya is 411.6 miles.
What is the most ecofriendly mode of transport between Jakarta and Surabaya?
Trains and buses are by far the greenest options, with trains surpassing buses on longer routes. Planes will always be the worst polluters, especially in shorter flights, were the emissions from the takeoff and landing are less offset by the distance.
On this particular route, a bus will emit, per person, a total of 18 kgs of CO2, a train 23 kgs, a car 113 kgs, and a flight 163 kgs.
What is the cheapest mode of transport from Jakarta to Surabaya?
You can get to Surabaya with just $11 by taking a Bus from Medali Mas.
What is the fastest way to get from Jakarta to Surabaya?
While a plane is travelling fastest boarding and transfer to airport consumes a lot of time. Usually, high speed trains are better than flights if pure train travel time is below 4 hours. For this particular route, you can get to Surabaya in just 1h 25m with a Flight from Batik Air.
More routes to Jakarta and to Surabaya
Looking for more options? Here you can see the most popular routes to Jakarta and to Surabaya. Simply click on a connection, and you’ll find all the details about the route!
